DamiRocK

Python: многострочный текст письма и тройные кавычки

Сохраняем четыре строки письма в одной переменной. Проверяем начальные и конечные переводы строк, отступы и отличие строкового литерала от комментария.

Текст на нескольких строках

Тройные одинарные или двойные кавычки позволяют включить реальные переводы строк непосредственно в литерал. Для интерпретатора результат остаётся одной строкой, содержащей управляющие символы, а не списком строк.

Задание источника

Запишите в переменную text письмо, сохранив переносы:

text = """Dear customer!
Your order has been placed successfully.
Estimated delivery date: 3-5 business days.
Thank you for choosing us!"""

print(text)

Программа выводит четыре строки. В упражнении создаётся текст; отправки электронного письма и изменения реального заказа не происходит.

Где поставить закрывающие кавычки

В решении кавычки стоят сразу после последнего восклицательного знака. Если перенести их на новую строку, в значении появится конечный \n. Дополнительный перевод строки от print() затем может создать видимую пустую строку.

Аналогично перенос сразу после открывающих кавычек создаёт пустую первую строку. Пробелы и отступы внутри литерала сохраняются: выравнивание текста в коде не обязательно является лишь оформлением программы.

Подстановка значений

Тройные кавычки сочетаются с f-строками:

name = "Anna"
message = f"""Hello, {name}!
Your report is ready."""

Это редакционный пример подстановки. Обычные одиночные кавычки внутри такого текста чаще не требуют экранирования, но последовательность, совпадающая с тройным ограничителем, всё равно должна обрабатываться аккуратно.

Не комментарий

Многострочный литерал — значение типа str. В определённом месте функции или модуля он может служить строкой документации, но тройные кавычки не являются универсальным синтаксисом многострочного комментария. Для обычных комментариев используется решётка.

Hexlet / Code Basics и участники · Исходный урок и решение · GNU AGPL v3. Текст упражнения сохранён; проверки литерала дополнены.

Reading preferences

Appearance
Contrast
More options

Saved only in this browser. Your device’s reduced-motion setting is always respected. Browser zoom works throughout the site.