Книга: PyNEng
Назад: Числа
Дальше: Список (List)

Строки (Strings)

Строки (Strings)

Строка в Python - это последовательность символов, заключенная в кавычки. Строки - это неизменяемый упорядоченный тип данных.

Примеры строк:

In [9]: 'Hello' Out[9]: 'Hello' In [10]: "Hello" Out[10]: 'Hello'  In [11]: tunnel = """    ....: interface Tunnel0    ....:  ip address 10.10.10.1 255.255.255.0    ....:  ip mtu 1416    ....:  ip ospf hello-interval 5    ....:  tunnel source FastEthernet1/0    ....:  tunnel protection ipsec profile DMVPN    ....: """  In [12]: tunnel Out[12]: '\ninterface Tunnel0\n ip address 10.10.10.1 255.255.255.0\n ip mtu 1416\n ip ospf hello-interval 5\n tunnel source FastEthernet1/0\n tunnel protection ipsec profile DMVPN\n'  In [13]: print(tunnel)  interface Tunnel0  ip address 10.10.10.1 255.255.255.0  ip mtu 1416  ip ospf hello-interval 5  tunnel source FastEthernet1/0  tunnel protection ipsec profile DMVPN 

Строки можно суммировать. Тогда они объединяются в одну строку:

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 [20]: string1 = 'interface FastEthernet1/0'  In [21]: string1[0] Out[21]: 'i' 

Нумерация всех символов в строке идет с нуля. Но, если нужно обратиться к какому-то по счету символу, начиная с конца, то можно указывать отрицательные значения (на этот раз с единицы).

In [22]: string1[1] Out[22]: 'n'  In [23]: string1[-1] Out[23]: '0' 

Кроме обращения к конкретному символу, можно делать срезы строки, указав диапазон номеров (срез выполняется по второе число, не включая его):

In [24]: string1[0:9] Out[24]: 'interface'  In [25]: string1[10:22] Out[25]: 'FastEthernet' 

Если не указывается второе число, то срез будет до конца строки:

In [26]:  string1[10:] Out[26]: 'FastEthernet1/0' 

Срезать три последних символа строки:

In [27]: string1[-3:] Out[27]: '1/0' 

Строка в обратном порядке:

In [28]: a = '0123456789'  In [29]: a[::] Out[29]: '0123456789'  In [30]: a[::-1] Out[30]: '9876543210' 

Записи a[::] и a[:] дают одинаковый результат, но двойное двоеточие позволяет указывать, что надо брать не каждый элемент, а, например, каждый второй.

Например, таким образом можно получить все четные числа строки a:

In [31]: a[::2] Out[31]: '02468' 

Так можно получить нечетные:

In [32]: a[1::2] Out[32]: '13579' 
Назад: Числа
Дальше: Список (List)