- Что такое \n?
- Примеры использования \n
- Как вывести сам символ \n
- Другие управляющие символы
- Важные детали
Допустим, мы хотим вывести текст ниже в две строчки:
- Are you hungry?
- Aaaarrrgh!
Если мы просто передадим этот текст в print()
, то Python напечатает все в одну строчку:
print("- Are you hungry?- Aaaarrrgh!")
# => - Are you hungry?- Aaaarrrgh!
Чтобы каждая из них начиналась с новой строки, нужно добавить перевод строки — то есть «нажать Enter». Технически это реализуется через добавление специальных символов, в данном случае \n
. Да, это не опечатка. Несмотря на то, что мы видим здесь два символа, с точки зрения Python это один символ.
print("- Are you hungry?\n- Aaaarrrgh!")
Результат:
- Are you hungry?
- Aaaarrrgh!
Что такое \n
?
Символ \n
— это экранированная последовательность, или управляющий символ. Он обозначает перевод строки, но не отображается напрямую. Вы не увидите \n
в выводе программы — он влияет только на расположение текста.
В текстовых редакторах при нажатии Enter добавляется невидимый символ — LF (Line Feed). Именно его и означает \n
. Иногда такие символы можно увидеть, если включить отображение спецсимволов:
- Привет!¶
- О, привет!¶
- Как дела?
Принтеры, редакторы и интерпретаторы Python понимают \n
как команду начать строку с новой строки.
Примеры использования \n
Местоположение \n
меняет итоговый вывод:
print("Hello\nWorld")
# Hello
# World
print("Hello \nWorld")
# Hello
# World (в конце первой строки есть пробел)
print("Hello\n World")
# Hello
# World (во второй строке в начале пробел)
print("Hello\n\nWorld")
# Hello
#
# World (пустая строка между ними)
Пробелы до или после \n
также учитываются: Python воспринимает их как обычные символы и отображает в выводе.
Вы также можете вставлять \n
в любую часть строки — до, после или даже использовать его отдельно:
print("First line")
print("\n") # Просто пустая строка
print("Second line")
Результат:
First line
Second line
Как вывести сам символ \n
Так как \n
в Python — это управляющая последовательность, он не отображается напрямую, а указывает на то, как отобразить текст. Если вам нужно вывести именно символы \
и n
, а не перевод строки, их нужно экранировать. Для этого перед обратным слешем добавляют ещё один слеш:
print("Hello\\nWorld")
# Hello\nWorld
# Если забыть указать второй слеш
print("Hello\nWorld")
# Hello
# World
В этом случае Python понимает \\
как обычный обратный слеш и показывает строку без перевода строки.
Другие управляющие символы
Кроме \n
, в Python есть и другие специальные последовательности:
\t
— табуляция (эквивалент клавиши Tab)\r
— возврат каретки (используется в Windows, но редко применяется в Python-коде)- В программировании чаще всего используют именно
\n
— его достаточно для большинства задач.
Важные детали
- '\n' — один символ, несмотря на то, что в коде он записан как два (\ и n).
- На Windows по умолчанию используется комбинация \r\n, но в Python (и вообще в кроссплатформенной разработке) принято использовать только \n, чтобы избежать проблем при переносе кода между системами.