Рядковий тип даних
Для опрацювання текстових даних у Python існує тип даних str (від англ . string — рядок).
s = ‘це рядок’
Величини будь-якого типу можна перетворити на рядок за допомогою функції str() (рис.1).
Значенням величини типу str є послідовність символів, узята в одинарні або подвійні лапки.
Зверни увагу!
Початок і кінець рядка мають бути в лапках одного виду.
Рис.1
Коди символів
Всі символи, які доступні комп′ютеру, утворюють так звану таблицю символів. Кожний символ має в таблиці свій номер, який називається його ASCІІ-кодом (американський стандартний код для обміну інформацією). Великі англійські, малі англійські літери та цифри в кодовій таблиці упорядковані, тобто сусідні коди відрізняються на 1.
Можна визначити код буд-якого символа за допомогою функції ord():
>>> ord('A')
65
>>> ord('a')
97
Дізнатися, який символ відповідає певному коду, можна за допомогою функції chr().
>>> chr(65) # код великої англійської ‘A’
'A'
>>> chr (1040) # код великої української ‘A’
'A'
>>> ord('A')
65
>>> ord('a')
97
Дізнатися, який символ відповідає певному коду, можна за допомогою функції chr().
>>> chr(65) # код великої англійської ‘A’
'A'
>>> chr (1040) # код великої української ‘A’
'A'
Зверни увагу!
Великі і мали літери, англійські та українські літери з однаковим написанням мають різні коди.
Приклад:
Вивести на друк перші 256 символів таблиці кодування. Для того, щоб оператор print() на переводив курсор на новий рядок, використовується параметр end=’’:
Доступ до символів у рядку
До конкретного символу в рядку можна звернутися за його індексом (номером позиції в рядку).
Рис.2
Відлік символів можна вести з кінця рядка, починаючи з –1. Наприклад, до третьої з кінця літери рядка s сможна звернутися так: s[-3] (рис.3).
Рис.3
При роботі з текстовими величинами можна добувати зріз (підрядок), тобто копіювати послідовність символів з рядка або частину рядка за певним правилом.
Оператор добування зрізу з рядка: z = s[i : j : step], де z — змінна, в яку зберігається підрядок рядка s; і — індекс початку зрізу; j — обмеження справа (не входить у зріз); step — з яким кроком вибираються символи .
Розглянемо застосування операції добування зрізу на прикладі рядка s = ‘Сонечко яскраво сяє'
Приклад операції зрізу | Опис | Результат |
z = s[8:15] | Зріз від символу з номером i рядка включно до символу з номером j-1 | z = 'яскраво' |
z = s[:7] | Зріз від початку рядка до символу з номером j-1 | z = 'Сонечко' |
z = s[8:] | Зріз від символу з номером i рядка s до кінця рядка | z = 'яскраво сяє' |
z = s[::2] | Копіювання символів з рядка s з кроком step | z = 'Снчоякаосє' |
z = s[::-1] | Запис символів рядка s у зворотному порядку | z = 'єяс оваркся окченоС |
Дії над рядковими величинами
Згадаємо знайомі вам із 7 класу прийоми опрацювання рядків. Операція | Опис | Приклад |
len(s) | Кількість символів, із яких утворено рядок | k = len(’Сорока’) # k = 6 |
subs in s | Визначення наявності підрядка subs в рядку s | a = 'y' in 'Python' # a=True |
s1 + s2 | Об’єднання рядків s1 і s2 в один рядок s (конкатенація) | s = ‘Сонце’ + ‘ ‘ + ‘сяє’ # s = ‘Сонце сяє’ |
n * s | Дублювання рядка s n разів | s1 = ‘+’*5 # s1=’+++++’ |
Рядкові методи
Мова Python надає широкі можливості для опрацювання текстів. Зважаючи на те, що всі змінні в Python є об’єктами, відповідні операції доступні у вигляді методів. У наведених далі прикладах методи викликаються для змінної S, яка містить рядок, який опрацьовується.
Зверни увагу!
Рядки — це незмінювані послідовності. Рядкові методи в Python не змінюють рядка, а утворюють новий. Якщо потрібно далі в програмі використовувати результат виконання методу, його слід зберегти в новій змінній.
Виклик методу для об'єкта S | Опис дії | Приклад |
S.find(S1) | шукає задану групу символів у рядку S і повертає номер першого символу шуканого підрядка в рядку або -1, якщо в S немає підрядка S1. | s = 'Гуси, гуси, га-га-га' n = s.find('га') # n = 12 |
S.replace(sfind, sins) | замінює підрядок sfind підрядком sins у заданому рядку S | snew =s. replace(‘га’, ‘кря’) # snew = 'Гуси, гуси, кря - кря - кря ' |
S.count(subs) | Повертає кількість входжень підрядка subs у заданий рядок S | s = 'Гуси, гуси, га-га-га' k = s.count('га') # k = 3 |
Джерела:
Інформатика : підруч. для 8 кл. закл. загал. серед. освіти / [О. О. Бондаренко, . В. Ластовецький, О. П. Пилипчук, Є. А. Шестопалов]. — Харків : Вид-во Ранок», 2021