Как перевести текст на новую строку в Python
Символ новой строки используется в Python, чтобы отмечать конец одной строки и начало новой. Важно понимать, как использовать его для вывода в консоль и работы с файлами.
В этом материале речь пойдет о следующем:
- Как определять символ новой строки в Python.
- Как использовать символ новой строки в строках и инструкциях вывода.
- Вывод текста без добавления символа новой строки в конце.
Символ новой строки
Символ новой строки в Python выглядит так \n . Он состоит из двух символов:
- Обратной косой черты.
- Символа n (в нижнем регистре).
Если встретили этот символ в строке, то знайте, что он указывает на то, что текущая строка заканчивается здесь, а новая начинается сразу после нее.
>>> print("Hello\nWorld!") Hello World!
Его же можно использовать в f-строках: print(f»Hello\nWorld!») .
Символ новой строки в print
По умолчанию инструкции вывода добавляют символ новой строки «за кулисами» в конце строки. Вот так:

Это поведение описано в документации Python. Значение параметра end встроенной функции print по умолчанию — \n . Именно таким образом символ новой строки добавляется в конце строки.
Вот определение функции:
print(*objects, sep=' ', end='\n', file=sys.stdout, flush=False)
Значением end=’\n’ , поэтому именно этот символ будет добавлен к строке.
Если использовать только одну инструкцию print , то на такое поведение можно и не обратить внимание, потому что будет выведена лишь одна строка. Но если использовать сразу несколько таких инструкций:
Работа со строками в Python: литералы

Строки в Python — упорядоченные последовательности символов, используемые для хранения и представления текстовой информации, поэтому с помощью строк можно работать со всем, что может быть представлено в текстовой форме.
Это первая часть о работе со строками, а именно о литералах строк.
Литералы строк
Работа со строками в Python очень удобна. Существует несколько литералов строк, которые мы сейчас и рассмотрим.
Строки в апострофах и в кавычках
Строки в апострофах и в кавычках - одно и то же. Причина наличия двух вариантов в том, чтобы позволить вставлять в литералы строк символы кавычек или апострофов, не используя экранирование.
Экранированные последовательности — служебные символы
Экранированные последовательности позволяют вставить символы, которые сложно ввести с клавиатуры.
| Экранированная последовательность | Назначение |
|---|---|
| \n | Перевод строки |
| \a | Звонок |
| \b | Забой |
| \f | Перевод страницы |
| \r | Возврат каретки |
| \t | Горизонтальная табуляция |
| \v | Вертикальная табуляция |
| \N | Идентификатор ID базы данных Юникода |
| \uhhhh | 16-битовый символ Юникода в 16-ричном представлении |
| \Uhhhh… | 32-битовый символ Юникода в 32-ричном представлении |
| \xhh | 16-ричное значение символа |
| \ooo | 8-ричное значение символа |
| \0 | Символ Null (не является признаком конца строки) |
«Сырые» строки — подавляют экранирование
Если перед открывающей кавычкой стоит символ ‘r’ (в любом регистре), то механизм экранирования отключается.
Но, несмотря на назначение, "сырая" строка не может заканчиваться символом обратного слэша. Пути решения:
Главное достоинство строк в тройных кавычках в том, что их можно использовать для записи многострочных блоков текста. Внутри такой строки возможно присутствие кавычек и апострофов, главное, чтобы не было трех кавычек подряд.
Это все о литералах строк и работе с ними. О функциях и методах строк я расскажу в следующей статье.
Для вставки кода на Python в комментарий заключайте его в теги
- Модуль csv - чтение и запись CSV файлов
- Создаём сайт на Django, используя хорошие практики. Часть 1: создаём проект
- Онлайн-обучение Python: сравнение популярных программ
- Книги о Python
- GUI (графический интерфейс пользователя)
- Курсы Python
- Модули
- Новости мира Python
- NumPy
- Обработка данных
- Основы программирования
- Примеры программ
- Типы данных в Python
- Видео
- Python для Web
- Работа для Python-программистов
- Сделай свой вклад в развитие сайта!
- Самоучитель Python
- Карта сайта
- Отзывы на книги по Python
- Реклама на сайте
Как печатать в одну строку в Python
Функция Python print() используется для печати результата или вывода на экран. По умолчанию она переходит к новой строке для печати следующего оператора. Имеет заранее определенный формат для вывода на печать. Разберем на примере.
print("Welcome") print("To") print("JavaTpoint")
Welcome To JavaTpoint
Чтобы печатать в одной строке в Python, мы можем записать утверждение полностью в одной функции print().
print("Welcome To JavaTpoint")
Welcome To JavaTpoint
Функция Python print() имеет аргумент end, который предотвращает переход к новой строке. Рассмотрим следующий пример.
list1 = [10,11,12,13,14,15] for i in list1: print(i, end = " ")
10 11 12 13 14 15
В приведенном выше коде мы объявили список и повторили каждый элемент, используя цикл for. Функция print() напечатала первый элемент списка, а затем напечатала конечное значение, которое мы назначили как пробел, и оно будет печататься до элемента списка.
Мы можем присвоить конец любому литералу. Давайте разберем это в следующем примере.
list1 = [10,11,12,13,14,15] for i in list1: print(i,end = "&")
Python: Multi-line строки
Представьте, что нам нужно определить строку, которая состоит из нескольких строчек — то есть внутри есть переводы строки \n . Например, она будет выглядеть так:
text = 'Пример текста,\nсостоящего из\nнескольких строк'
На печати строка примет совсем другой вид:
Пример текста, состоящего из нескольких строк
Для таких ситуаций в Python есть еще один способ создания строк, который называется multi-line строки. Чтобы описать такую «многострочную строку», нужно заключить ее в тройные кавычки — """ или ''' . Внутри multi-line строки можно переносить текст и не использовать перевод строки \n :
text = '''Пример текста, состоящего из нескольких строк '''
Пример текста, состоящего из нескольких строк
Обратите внимание, что в конце текста есть пустая строка. Она появилась в тексте потому, что мы поставили закрывающие кавычки ''' на новой строке. Если не переносить закрывающие кавычки на новую строку, то пустая строка в тексте не появится:
text = '''Пример текста, состоящего из нескольких строк'''
Пример текста, состоящего из нескольких строк
Из-за тройных кавычек multi-line строки позволяют не экранировать кавычки внутри строки:
Здесь не нужно экранировать 'одинарные' и "двойные" кавычки
Еще multi-line строки могут становиться f-строками для интерполяции:
a = 'A' b = 'B' # Слева добавился f text = f''' и сидели на трубе '''
А и B сидели на трубе
Для компьютера неважно, какие способы соединения и переноса строк вы будете использовать. Он все равно произведет вычисления и выдаст нужный результат. Интерполяция и multi-line строки используются для удобства разработчиков, чтобы им было проще читать код.
Задание
Запишите в переменную text текст, который приведен ниже. Используйте тройные кавычки.
Lannister, Targaryen, Baratheon, Stark, Tyrell. they're all just spokes on a wheel. This one's on top, then that one's on top, and on and on it spins, crushing those on the ground.
Упражнение не проходит проверку — что делать?
Если вы зашли в тупик, то самое время задать вопрос в «Обсуждениях». Как правильно задать вопрос:
- Обязательно приложите вывод тестов, без него практически невозможно понять что не так, даже если вы покажете свой код. Программисты плохо исполняют код в голове, но по полученной ошибке почти всегда понятно, куда смотреть.
В моей среде код работает, а здесь нет
Тесты устроены таким образом, что они проверяют решение разными способами и на разных данных. Часто решение работает с одними входными данными, но не работает с другими. Чтобы разобраться с этим моментом, изучите вкладку «Тесты» и внимательно посмотрите на вывод ошибок, в котором есть подсказки.
Мой код отличается от решения учителя
Это нормально , в программировании одну задачу можно выполнить множеством способов. Если ваш код прошел проверку, то он соответствует условиям задачи.
В редких случаях бывает, что решение подогнано под тесты, но это видно сразу.
Прочитал урок — ничего не понятно
Создавать обучающие материалы, понятные для всех без исключения, довольно сложно. Мы очень стараемся, но всегда есть что улучшать. Если вы встретили материал, который вам непонятен, опишите проблему в «Обсуждениях». Идеально, если вы сформулируете непонятные моменты в виде вопросов. Обычно нам нужно несколько дней для внесения правок.
Кстати, вы тоже можете участвовать в улучшении курсов: внизу есть ссылка на исходный код уроков, который можно править прямо из браузера.