Глава 8 · Играем с буквами и словами

Индексы строки

Каждый символ строки можно достать по номеру — с начала или с конца. Разберём это по-настоящему наглядно.

Индекс — это номер места

Строка — это последовательность символов, и у каждого символа есть свой порядковый номериндекс. Индекс пишут в квадратных скобках сразу после строки: строка[индекс].

Счёт начинается с нуля!
Это самая важная деталь этого раздела. Первый символ строки имеет индекс 0, а не 1. Второй символ — индекс 1. И так далее. Такой способ счёта называется индексацией с нуля (zero-based indexing) — его используют почти все языки программирования, и к нему быстро привыкаешь.
0
1
2
3
4
5
P
y
t
h
o
n
-6
-5
-4
-3
-2
-1
«Python»: сверху — индекс с начала (0, 1, 2, …), снизу — индекс с конца (-6, -5, …, -1)
indeksy.py
word = "Python"
print(word[0])   # P — первый символ (индекс 0)
print(word[1])   # y — второй символ (индекс 1)
print(word[5])   # n — шестой символ (индекс 5 — последний, т.к. всего 6 символов)

Отрицательные индексы: считаем с конца

Индекс -1 означает «последний символ», -2 — «предпоследний», и так далее. Это тот же самый ряд символов, просто прочитанный с другого конца — обратите внимание на нижний ряд чисел на диаграмме выше.

otricatelnye_indeksy.py
word = "Python"
print(word[-1])   # n — последний символ
print(word[-2])   # o — предпоследний
print(word[-6])   # P — тот же символ, что и word[0]!
0
1
2
3
4
5
6
м
а
н
д
а
л
а
-7
-6
-5
-4
-3
-2
-1
Тот же принцип работает и для кириллицы — «мандала», 7 символов, индексы 0…6 и -7…-1
IndexError — индекс за пределами строки
word[10] для шестибуквенного слова вызовет IndexError: string index out of range. Индексы существуют только от 0 до len(word) - 1 (раздел 8.5), и от -1 до -len(word) с конца.
indexerror.py
word = "Python"
# word[10]   # IndexError: string index out of range
print(len(word))          # 6 — значит, максимальный индекс 5
★ Базовая практика
Первая и последняя буква

Для слова «Cartesian» выведите его первую букву через индекс 0 и последнюю — двумя способами: через положительный индекс (с len()) и через отрицательный индекс -1. Все три способа должны дать одинаковый результат для последней буквы.

Практика: индексы и отрицательные индексы
Интерактивный ноутбук прямо в браузере — Python 3.14 через Pyodide, без установки
Открыть практику →