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

Многострочные и raw-строки

Два особых способа создать строку: тройные кавычки — для текста в несколько строк, буква r — для текста без экранирования.

Многострочные строки: тройные кавычки

Вместо того чтобы вставлять \n вручную, можно написать текст сразу в несколько строк — если обернуть его тройными кавычками """ или '''. Все переносы строк внутри сохраняются такими, какие они есть:

mnogostrochnaya.py
poem = """Код за кодом,
шаг за шагом —
так рождается
программа."""
print(poem)
# Код за кодом,
# шаг за шагом —
# так рождается
# программа.
Осторожно с отступами
Если код внутри функции или блока имеет отступ, а тройная строка написана с тем же отступом, эти пробелы попадут ВНУТРЬ текста — Python не убирает их автоматически. Для простых учебных программ, где тройная строка начинается с начала строки кода, это не проблема; в реальных проектах для этого существуют специальные приёмы (например, модуль textwrap), которые нам пока не нужны.

Raw-строки: r"..."

Иногда обратных чёрточек в тексте должно быть МНОГО, и экранировать каждую — утомительно и трудно читать. Классический пример — путь к файлу в Windows:

bez_raw.py
path = "C:\\Users\\Cartesian\\Documents"
print(path)
# C:\Users\Cartesian\Documents

Каждую обратную черту пришлось задваивать. Если поставить перед открывающей кавычкой букву r (от raw — «сырой»), Python перестаёт понимать \ как начало служебной последовательности и берёт текст ровно таким, каким он написан:

s_raw.py
path = r"C:\Users\Cartesian\Documents"
print(path)
# C:\Users\Cartesian\Documents — тот же результат, но без задвоенных чёрточек
Raw-строки убирают «шум» экранирования
Raw-строки часто используют для путей к файлам и для шаблонов регулярных выражений (тема для будущих глав) — там обратных чёрточек особенно много, и без r"..." код было бы тяжело читать.
★ Базовая практика
Свой путь

Выведите путь r"D:\Projects\python-from-zero\notebooks" через raw-строку и через обычную строку с экранированием — убедитесь, что print() печатает одно и то же.

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