Рядки (Strings)¶
Рядок у Python це:
- послідовність символів у лапках
- незмінний упорядкований тип даних
У Python рядки можна створювати за допомогою одинарних, подвійних та потрійних лапок (одинарних або подвійних):
Запис рядків у потрійних лапках використовується для зручності і в результаті рядок виходить таким:
In [12]: tunnel
Out[12]: '\ninterface Tunnel0\n ip address 10.10.10.1 255.255.255.0\n ip mtu 1416\n'
In [13]: print(tunnel)
interface Tunnel0
ip address 10.10.10.1 255.255.255.0
ip mtu 1416
Операції з рядками¶
Рядки можна підсумовувати. Тоді вони об'єднуються в один рядок:
In [14]: intf = 'interface'
In [15]: tun = 'Tunnel0'
In [16]: intf + tun
Out[16]: 'interfaceTunnel0'
In [17]: intf + ' ' + tun
Out[17]: 'interface Tunnel0'
Рядок можна множити на число. У цьому випадку рядок повторюється вказану кількість разів:
In [18]: intf * 5
Out[18]: 'interfaceinterfaceinterfaceinterfaceinterface'
In [19]: '#' * 40
Out[19]: '########################################'
Індекси¶
Те, що рядки є впорядкованим типом даних, дозволяє звертатися до символів у рядку за номером (індексом), починаючи з нуля:
Нумерація всіх символів у рядку йде з нуля. Якщо потрібно звернутися до якогось за рахунком символу, починаючи з кінця, можна вказувати негативні значення (на цей раз з одиниці).
Зрізи¶
Крім звернення до конкретного символу можна робити зрізи рядків, вказавши діапазон номерів (зріз виконується до другого значення, не включаючи його):
Якщо не вказується друге число, зріз буде до кінця рядка:
Зрізати три останні символи рядка:
Також у зрізі можна вказувати крок. Так можна отримати непарні числа:
А таким чином можна отримати всі парні числа
Зрізи також можна використовувати для отримання рядка у зворотному порядку:
In [28]: a = '0123456789'
In [29]: a[::]
Out[29]: '0123456789'
In [30]: a[::-1]
Out[30]: '9876543210'
Записи
a[::]
іa[:]
дають однаковий результат, але подвійна двокрапка дозволяє вказувати, що треба брати не кожен елемент, а, наприклад, кожен другий.
Функція len¶
Функція len
дозволяє отримати кількість символів у рядку: