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

Экранирование: \n, \t и другие

Как вставить в строку символ, у которого нет своей клавиши — и почему написанное в коде не всегда совпадает с напечатанным на экране.

Символы, которые нельзя напечатать прямо

Иногда внутри строки нужен символ, у которого нет своей клавиши — например, «конец строки» (перенос) или «табуляция». Для них в Python есть служебные последовательности (escape-последовательности) — обратная косая черта \ плюс буква:

ПишемОзначает
\nперенос строки (new line)
\tтабуляция (отступ)
\\сама обратная косая черта
\"двойная кавычка внутри строки в двойных кавычках
\'одинарная кавычка внутри строки в одинарных кавычках

Исходный текст vs напечатанный результат

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

escape_primer.py
print("Первая строка\nВторая строка")
# Первая строка
# Вторая строка

print("Имя:\tВозраст:")
print("Ада:\t28")
# Имя:    Возраст:
# Ада:    28

Символ \n в исходном коде — это ДВА символа (косая черта и «n»), но Python понимает их как ОДИН специальный символ «перенос строки», который при печати превращается в настоящий перенос — на экране обратной черты уже не видно.

Зачем вообще экранировать
Обратная косая черта — служебный символ Python внутри строк. Экранирование объясняет Python: «дальше идёт не команда, а именно этот символ». Без этого механизма было бы невозможно вставить в строку кавычку того же типа, что обрамляет саму строку, или напечатать перенос строки одной командой print().

repr() — увидеть служебные символы «как есть»

repr() печатает строку так, как она выглядит в коде — со всеми обратными чертами, а не с их результатом. Это отличный инструмент отладки, к которому мы ещё вернёмся в разделе 8.17:

repr_vs_print.py
text = "Строка 1\nСтрока 2"
print(text)          # печатает ДВЕ настоящие строки
print(repr(text))    # 'Строка 1\nСтрока 2' — видно \n как текст
★ Базовая практика
Табличка из трёх строк

Одной командой print() с \n выведите три строки: «Имя: Ада», «Профессия: программист», «Год: 1843».

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