Управление выводом: организация новой строки в коде
Перевод строки в Python
Наиболее распространённый способ вставки новой строки в строковое значение - использование escape-последовательности \n. При выводе через print() или записи в файл символ \n интерпретируется как переход на следующую строку.
print('Первая строка\nВторая строка')Python else print no endl no (print без перевода строки в python)
Первая строка Вторая строка
Python new line (перевод строки в python)
Этот метод работает в любых версиях Python, подходит для любого окружения и не требует импорта дополнительных модулей.
Как выполнить перевод строки при помощи нескольких вызовов print?
По умолчанию print() добавляет символ новой строки в конце выводимого текста. Поэтому несколько последовательных вызовов print() автоматически создают переносы между строками.
print('Строка 1')
print('Строка 2')Строка 1 Строка 2
Если нужно убрать добавление \n, используется параметр end=''.
Как создать многострочный текст без многократного использования \n?
Тройные кавычки (''' или """) позволяют записывать текст в несколько строк непосредственно в коде. Фактические переносы строк становятся частью строки.
text = """Первая строка
Вторая строка
Третья строка"""
print(text)Первая строка Вторая строка Третья строка
В таком варианте не требуется вставлять \n вручную - редактор кода учитывает реальные разрывы. Однако начальные и конечные пробелы могут быть нежелательными. Для их удаления применяется textwrap.dedent().
Как использовать переменные и списки с переносом строки?
При формировании строки из переменных или списков удобно применять \n внутри f-строк или метод join().
name = 'Анна'
age = 25
print(f'Имя: {name}\nВозраст: {age}')
lines = ['Первая', 'Вторая', 'Третья']
print('\n'.join(lines))Имя: Анна Возраст: 25 Первая Вторая Третья
Метод join() особенно эффективен для вывода элементов списка, разделённых переносом строки.
Как сделать перенос строки, совместимый с разными операционными системами?
В Windows для корректного перевода строки в текстовых файлах может потребоваться пара символов \r\n. Модуль os предоставляет атрибут linesep, который содержит правильную последовательность для текущей ОС.
import os
print(f'Строка1{os.linesep}Строка2')Строка1 Строка2
(На практике в Windows linesep равен '\r\n'.) При открытии файла в текстовом режиме Python автоматически преобразует \n к правильному формату, поэтому прямое использование os.linesep требуется редко.
Как отобразить escape-последовательность \n как текст без её интерпретации?
Если необходимо вывести на экран именно символы обратной косой черты и буквы n, а не перевод строки, применяют raw-строку (префикс r).
print(r'Строка1\nСтрока2')Строка1\nСтрока2
Raw-строки полезны при работе с регулярными выражениями или путями файлов.
Расширенные примеры работы с переводом строки
Ниже приведены более сложные и нестандартные сценарии использования символа новой строки.
Пример 1. Формирование многострочной строки с помощью списка и join
lines = ['Первая строка', 'Вторая строка', 'Третья строка']
multiline = '\n'.join(lines)
print(multiline)Первая строка Вторая строка Третья строка
Пример 2. Использование sep='\n' для вывода списка элементов
items = ['a', 'b', 'c']
print(*items, sep='\n')a b c
Пример 3. Генерация строки с переносами в цикле
result = ''
for i in range(3):
result += f'Строка {i+1}\n'
print(result.strip()) # strip() убирает последний переводСтрока 1 Строка 2 Строка 3
Пример 4. Запись многострочного текста в файл
with open('example.txt', 'w', encoding='utf-8') as f:
f.write('Первая строка\n')
f.write('Вторая строка\n')
# чтение и вывод содержимого
with open('example.txt', 'r') as f:
print(f.read())Первая строка Вторая строка
Пример 5. Комбинация f-строки и \n
a, b = 10, 20
print(f'Значение a: {a}\nЗначение b: {b}')Значение a: 10 Значение b: 20
Пример 6. Использование repr для отображения escape-последовательностей как есть
text = 'line1\nline2'
print(repr(text))'line1\nline2'
Пример 7. Многострочная строка с сохранением отступов и последующее выравнивание через textwrap.dedent
import textwrap
code = """
def hello():
print('Hello')
"""
print(textwrap.dedent(code))def hello():
print('Hello')Пример 8. Перенос строки в строке байтов (bytes)
b = b'line1\nline2'
print(b.decode())line1 line2
Пример 9. Использование \n внутри аргументов функции с ключевыми словами
def show(title, body):
print(f'{title}:\n{body}')
show('Заголовок', 'Содержание')Заголовок: Содержание