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

Доступ к символам строки

Каждый символ строки можно достать по номеру — а срезы позволяют достать сразу целый кусок.

Доступ к символам строки

Строка — это последовательность символов, и к каждому символу можно обратиться по его индексу (порядковому номеру) в квадратных скобках. Индексация в Python начинается с нуля:

indeksy.py
word = "Python"
print(word[0])   # P — первый символ
print(word[1])   # y — второй символ
print(word[5])   # n — шестой (и последний) символ

Отрицательные индексы

Отрицательные индексы отсчитываются с конца строки — -1 означает «последний символ»:

otricatelnye_indeksy.py
word = "Python"
print(word[-1])   # n — последний символ
print(word[-2])   # o — предпоследний
IndexError — индекс за пределами строки
word[10] для шестибуквенного слова вызовет IndexError: string index out of range. Индексы существуют только от 0 до len(word) - 1 (и от -1 до -len(word) с конца).

Получение среза строки

Срез (slice) возвращает часть строки — от одного индекса до другого (не включая последний):

srezy.py
word = "Python"
print(word[0:3])   # Pyt — символы с индексами 0, 1, 2
print(word[2:])    # thon — от индекса 2 и до конца
print(word[:3])    # Pyt — от начала до индекса 3 (не включая)
print(word[::-1])  # nohtyP — весь текст задом наперёд!
Разворот строки одним срезом
строка[::-1] — самый короткий способ развернуть строку задом наперёд. Третий параметр среза — «шаг»; шаг -1 проходит строку в обратном порядке. Мы воспользуемся этим в мини-проекте 8.9.
Практика в Jupyter Notebook
08-03-indeksy-srezy.ipynb · индексы, отрицательные индексы и срезы
Открыть ноутбук →