Python
Как перенести строку в Python: \\n, print и длинные строки
Если нужно вывести текст с новой строки, используйте \n внутри строки. Это специальная последовательность, которая означает перенос строки
text = "Первая строка\nВторая строка"
print(text)
Результат:
Первая строка
Вторая строка
Важно различать две задачи: перенести строку в выводе и перенести длинный код в редакторе. Это не одно и то же
Перенос строки через \n
Самый частый способ:
print("Привет\nКак дела?")
Результат:
Привет
Как дела?
Символ \n не печатается как обычные два символа. Python воспринимает его как команду перейти на новую строку
Несколько print вместо \n
Иногда проще написать два вызова print():
print("Привет")
print("Как дела?")
Результат будет таким же:
Привет
Как дела?
Такой вариант удобен для новичков, потому что каждая строка вывода видна отдельно. \n удобнее, когда текст хранится в одной переменной или формируется как одно сообщение
Многострочная строка через тройные кавычки
Если нужен большой текст, можно использовать тройные кавычки:
message = """Это первая строка
Это вторая строка
Это третья строка"""
print(message)
Результат:
Это первая строка
Это вторая строка
Это третья строка
Тройные кавычки сохраняют переносы строк внутри текста. Это удобно для шаблонов, писем, подсказок пользователю и больших сообщений
Как собрать строку из нескольких частей
Если строка длинная в коде, но в выводе должна остаться одной строкой, можно обернуть части в скобки:
message = (
"Это очень длинное сообщение, "
"которое в коде удобно разбить на несколько частей, "
"но при выводе оно останется одной строкой"
)
print(message)
Python склеит соседние строковые литералы. В выводе не будет переносов, если вы сами не добавили \n
Как перенести длинное выражение
Для длинных выражений лучше использовать скобки:
total = (
100
+ 200
+ 300
)
print(total)
Результат:
600
Скобки помогают переносить код на несколько строк без обратного слеша. Так код легче читать и меньше риск случайной ошибки
Обратный слеш для переноса кода
В Python есть перенос строки через обратный слеш:
total = 100 + \
200 + \
300
print(total)
Но для новичков это не лучший стиль. Если после \ случайно окажется пробел или комментарий, можно получить ошибку. Скобки обычно безопаснее и понятнее
Перенос строки в f-строке
В f-строках \n работает так же:
name = "Динар"
score = 95
message = f"Игрок: {name}\nОчки: {score}"
print(message)
Результат:
Игрок: Динар
Очки: 95
Так удобно выводить карточки, отчеты и сообщения с несколькими полями
Как убрать лишний перенос у print
print() по умолчанию сам добавляет перенос строки в конце. Поэтому:
print("A")
print("B")
выводит:
A
B
Если нужно печатать в одну строку, используйте параметр end
print("A", end="")
print("B")
Результат:
AB
Можно поставить пробел:
print("A", end=" ")
print("B")
Результат:
A B
Мини-практика
Создайте файл new_line.py и выведите карточку пользователя:
name = "Анна"
age = 24
city = "Казань"
print(f"Имя: {name}\nВозраст: {age}\nГород: {city}")
После этого перепишите тот же вывод через три отдельных print(). Затем сделайте многострочную строку через тройные кавычки и сравните, какой вариант вам легче читать
Частые ошибки
Первая ошибка — писать /n вместо \n. Нужен обратный слеш, а не обычная косая черта
Вторая ошибка — думать, что перенос кода в редакторе автоматически добавит перенос в выводе. Если в строке нет \n или тройных кавычек, вывода на новой строке не будет
Третья ошибка — ставить обратный слеш для переноса кода там, где проще использовать скобки
Четвертая ошибка — забывать, что print() сам добавляет перенос строки в конце. Если нужно печатать без переноса, используйте end=""
Что почитать дальше по Python
Если нужен общий маршрут по теме, откройте рубрику Python. Для соседних задач пригодятся эти разборы:
- Как из списка сделать строку в Python: join, map и частые ошибки
- Как преобразовать число в строку Python: str, f-строки и форматирование
- Как проверить первый символ строки в Python: индекс 0, startswith и пустая строка
- Как сделать калькулятор на Питоне: простой код для начинающих