Строки могут быть индексированы, причем первый символ имеет индекс 0
. В Python не существует отдельного типа "символ" (char
), символ - это просто строка размером один символ:
>>> word = 'Python' >>> word[0] # 'P' # символ в позиции 5 >>> word[5] # 'n'
Индексы могут быть отрицательными числами, в этом случае отсчет символов в строке начинается справа, при чем первый символ справа будет будет иметь индекс -1
:
>>> word = 'Python' # последний символ >>> word[-1] # 'n' # предпоследний символ >>> word[-2] # 'o' >>> word[-6] # 'P'
Обратите внимание, что, поскольку -0 совпадает с 0, отрицательные индексы начинаются с -1.
Строки Python не могут быть изменены - они принадлежат к неизменяемым типам данных Python. Следовательно, присвоение элемента по индексу позиции в строке приводит к ошибке:
>>> word = 'Python' >>> word[0] = 'J' # Traceback (most recent call last): # File "<stdin>", line 1, in <module> # TypeError: 'str' object does not support item assignment >>> word[2:] = 'py' # Traceback (most recent call last): # File "<stdin>", line 1, in <module> # TypeError: 'str' object does not support item assignment