Как писать многострочные строки в Python (тройные кавычки и соединения)
Узнайте, как лучше всего писать многострочные строки в Python. Изучите тройные кавычки, конкатенацию круглых скобок, методы соединения новой строки и элементы управления форматом.
Обзор
При написании текстовых блоков внутри вашего приложения, таких как запросы SQL, шаблоны HTML, инструкции CLI или длинные сообщения отладки, вам часто придется распределять строковые значения по нескольким строкам. Python предлагает несколько способов определения многострочных строк, каждый из которых имеет свои особенности форматирования.
Самый прямой и распространенный способ написания многострочной строки - это использование синтаксиса тройных кавычек (либо `'''`, либо `"""`). Строки с тройными кавычками сохраняют все введенные символы буквально, включая необработанные символы новой строки и отступы. Это делает форматирование очень наглядным, но имеет недостаток: любые начальные табуляции или пробелы, используемые для выравнивания кода внутри вложенных циклов или классов, станут частью фактического строкового значения.
Чтобы определить многострочную строку, которая визуально охватывает несколько строк исходного кода, но компилируется в одну длинную строку (или не фиксирует пробелы в отступах кода), вы можете заключить стандартные строки в одинарные кавычки в круглые скобки. Python автоматически объединяет соседние строковые литералы внутри круглых скобок, делая ваш код чистым и легко читаемым.
Код и вывод выполнения
Этот скрипт демонстрирует написание многострочного текста с использованием тройных кавычек, конкатенации строк в круглых скобках и чистых отступов.
# 1. Triple Quote Syntax (preserves all newlines and indentation)
sql_query = """SELECT id, username, email
FROM users
WHERE active = True
ORDER BY id DESC;"""
print("--- Triple Quotes Query ---")
print(sql_query)
# 2. Parentheses Concatenation (splits code line, compiles into single line)
long_message = (
"This is a long message that we split "
"across multiple lines in our editor, "
"but it compiles into a single text block."
)
print("\n--- Parentheses Concatenation ---")
print(long_message)
# 3. Joining list elements for clean line breaks
lines = [
"First instruction line.",
"Second instruction line.",
"Third instruction line."
]
joined_text = "\n".join(lines)
print("\n--- Joined Lines ---")
print(joined_text)--- Triple Quotes Query ---
SELECT id, username, email
FROM users
WHERE active = True
ORDER BY id DESC;
--- Parentheses Concatenation ---
This is a long message that we split across multiple lines in our editor, but it compiles into a single text block.
--- Joined Lines ---
First instruction line.
Second instruction line.
Third instruction line.Пошаговая реализация
- Используйте тройные кавычки («» или «»») для записи длинных текстовых блоков, сохраняющих буквальные символы новой строки.
- Заключайте последовательные строки в круглые скобки ( ) без запятых, чтобы визуально разделить код без добавления новых строк в вывод.
- Используйте textwrap.dedent() при работе с тройными кавычками внутри классов или функций, чтобы очистить начальные отступы.
Часто задаваемые вопросы
Как удалить начальный отступ из вложенной строки в тройных кавычках?
Импортируйте встроенный модуль textwrap и передайте строку в textwrap.dedent(text), чтобы очистить ведущие пробелы.
В чем разница между одинарными и двойными тройными кавычками?
Функциональной разницы между ''' и "" нет. Выберите одно соглашение и последовательно придерживайтесь его во всем проекте.
Связанные темы
Изучите лучшие методы форматирования строк в Python. Сравните современные f-строки, format() и процентное форматирование с примерами кода.
Как преобразовать список в строку в PythonУзнайте, как преобразовать списки строк или чисел в одну строку в Python. Освойте метод join(), преобразования карт и пользовательское форматирование.
Рекомендуемые ресурсы Python
Расширьте свои знания с помощью соответствующих интерактивных руководств, шпаргалок и сравнений кода.
Строки Python
Мастер манипуляций со строками в Python. Изучите строковые методы, методы нарезки, конкатенации и форматирования на понятных примерах исполняемого кода.
Шпаргалка по строковым методам Python
Полное справочное руководство по манипулированию строками в Python. Мастер форматирования, поиска, разделения, замены и проверки свойств строк.
Python против JavaScript: какой язык программирования лучше?
Всестороннее сравнение Python и JavaScript. Изучите синтаксические различия, производительность, варианты использования (серверная и клиентская части) и примеры кодирования.