Рядки вже згадувалися в уроці про типи даних; розглянемо їх більш докладно.
Рядок (String) — це складний тип даних, що представляє собою послідовність символів.
Рядки в мові програмування Python можуть укладатися як в одиночні, так і подвійні лапки. Однак, початок і кінець рядка повинні обрамлятися однаковим типом лапок.
Існує спеціальна функція len (), яка дозволяє виміряти довжину рядка. Результатом виконання даної функції є число, що показує кількість символів в рядку.
Також для рядків існують операції конкатенації (+) і дублювання (*).
>>>len('It is a long string')
19
>>>'!!!'+' Hello World '+'!!!'
'!!! Hello World !!!'
>>>'-'*20
'--------------------'
У послідовностях важливий порядок символів, у кожного символу в рядку є унікальний порядковий номер - індекс. Можна звертатися до конкретного символу в рядку і отримувати його з допомогою оператора індексування, який представляє собою квадратні дужки з номером символу в них.
>>>'morning, afternoon, night'[1]
'o'
>>> tday ='morning, afternoon, night'
>>> tday[4]
'i'
У прикладі, вираз 'morning, afternoon, night'[1] призвів до витягнення другого символу. Справа в тому, що індексація починається не з одиниці, а з нуля. Тому, коли потрібно витягти перший символ, то оператор індексування повинен виглядати так: [0]. Також дозволено витягувати символи, починаючи відлік з кінця.
У цьому випадку відлік починається з -1 (останній символ).
>>> tday ='ранок, день, ніч'
>>> tday[0]
'р'
>>> tday[-1]
'ч'
>>> tday[-3]
'н'
Очевидно, що зручніше працювати не з самими рядками, а зі змінними, які на них посилаються. Результат виконання виразу індексування можна присвоїти іншій змінній.
>>> a ="very big string"
>>> a[6]
'i'
>>> b = a[0]
>>> b
'v'
Можна витягати з рядка не один символ, а декілька, тобто отримувати зріз (підрядок). Оператор витягнення зрізу з рядка виглядає так: [X: Y]. X - це індекс початку зрізу, а Y - його закінчення; причому символ з номером Y в зріз вже не входить. Якщо відсутній перший індекс, то зріз береться від початку до другого індексу; за відсутності другого індексу, зріз береться від першого індексу до кінця рядка.
>>> tday ='morning, afternoon, night'
>>> tday[0:7]
'morning'
>>> tday[9:-7]
'afternoon'
>>> tday[-5:]
'night'
>>> tday[:3]
'mor'
Крім того, можна витягати символи не підряд, а через певну кількість символів. У такому випадку оператор індексування виглядає так: [X: Y: Z]; Z — це крок, через який здійснюється вибір елементів.
>>> str4 ="Full Ball Fill Pack Ring"
>>> str4[::5]
'FBFPR'
>>> str4[0:15:2]
'Fl alFl '
Практична робота_9
1. Присвойте змінній з будь-який рядок, що складається не менше ніж з 8 символів. Вийміть з рядка перший символ, потім останній, третій з початку і третій з кінця. Виміряйте довжину вашого рядка.
2. Присвойте змінній довільний рядок довжиною 10-15 символів та отримайте з неї наступні зрізи:
перші вісім символів;
чотири символи з центру рядка;
символи з індексами кратними трьом.
Готовий проєкт завантажити в Classroom (після завантаження файлу не забуваємо натиснути здати).