Основы Python
Теория: Извлечение символов из строки
Иногда нужно получить один символ из строки. Например, если сайт знает имя и фамилию пользователя и нужно вывести их в сокращённом формате — A. Ivanov. Для этого потребуется взять первую букву имени.
В Python для таких задач есть специальный механизм — индексация.
🔢 Индексация: как это работает
Представим, что у нас есть строка:
Чтобы получить первую букву, указываем её позицию (индекс) в квадратных скобках:
Индексы в Python (и во многих языках) начинаются с нуля:
Чтобы получить, например, последний символ, можно написать:
Если изменится длина строки, то последний элемент тоже сдвинется и придется указывать новый индекс по которому расположен этот символ.
А если выйти за границы строки, то мы получим ошибку:
IndexError: string index out of range
Поэтому в программировании принято проверять длину строки и обращаться к ее символами только если это безопасно. Мы до этого дойдем в будущих уроках.
📍 Укороченное извлечение с конца
Часто нужно получить последний символ строки, но заранее неизвестна её длина. В этом случае можно использовать отрицательные индексы:
Отрицательные индексы работают так:
- -1 — последний символ
- -2 — предпоследний
- и так далее
Это не только удобно, но и безопасно, потому что работает правильно даже если строка меняет свою длину.
Индекс — это не только число. Индекс можно хранить в переменной, а не записывать прямо:
Такой подход полезен, когда индекс вычисляется где-то в коде, а потом используется для доступа к нужному символу.
🌀 Спецсимволы
При индексации учитываются не только обычные буквы и знаки, но и спецсимволы. Они тоже занимают позицию в строке, у них есть свой индекс, даже если их «не видно» на экране.
Например, в строке \nyou первый символ — это \n (перенос строки), а под индексом 1 уже идёт буква y. Поэтому обращение magic[1] вернёт именно y.
Подумайте: что выведет этот код?
В строке '\nyou' первый символ — это \n (перенос строки), а под индексом 1 — буква y. Вывод будет:








