Печать в Python без перевода строки: мастерство параметра end и другие техники
Печать в Python без перевода строки: мастерство параметра end и другие техники
Встроенная функция print() — основной способ вывода в Python. По умолчанию она добавляет символ новой строки (\n) после каждого вызова, заставляя последующие печати появляться на новой строке.
Как работает стандартный print()
print("Hello World")
print("Welcome to Guru99 Tutorials")
Вывод:
Hello World Welcome to Guru99 Tutorials
Каждая строка появляется на своей строке, потому что print() автоматически добавляет символ новой строки.
Подавление перевода строки в Python 3+
Python 3 ввёл именованный аргумент end для print(). Установка end="" убирает стандартный перевод строки, позволяя продолжать печать на той же строке.
print("Hello World ", end="")
print("Welcome to Guru99 Tutorials")
Вывод:
Hello World Welcome to Guru99 Tutorials
Для вставки разделителя (пробела, запятой, произвольной строки) укажите его как значение end:
print("Hello World ", end=" ")
print("Welcome to Guru99 Tutorials")
Вывод:
Hello World Welcome to Guru99 Tutorials
print("Hello World ", end="It's a nice day! ")
print("Welcome to Guru99 Tutorials")
Вывод:
Hello World It's a nice day! Welcome to Guru99 Tutorials
Python 2.x — трюк с запятой
В Python 2 добавление запятой после строки предотвращает перевод строки:
print "Hello World ", print "Welcome to Guru99 Tutorials."
Вывод:
Hello World Welcome to Guru99 Tutorials
Использование модуля sys
Модуль sys предлагает stdout.write() для тонкого контроля вывода без автоматического добавления новой строки.
import sys
sys.stdout.write("Hello World ")
sys.stdout.write("Welcome to Guru99 Tutorials")
Вывод:
Hello World Welcome to Guru99 Tutorials
Печать списка в одну строку
При итерации по списку end=" " держит все элементы на одной строке:
mylist = ["PHP", "JAVA", "C++", "C", "PYTHON"]
for i in mylist:
print(i, end=" ")
Вывод:
PHP JAVA C++ C PYTHON
Печать непрерывного паттерна звёздочек
Используйте end="" в цикле для генерации одной строки символов:
for i in range(20):
print('*', end="")
Вывод:
********************
Ключевые выводы
- Python
print()добавляет перевод строки по умолчанию. - Используйте
end=""(Python 3+) или завершающую запятую (Python 2) для подавления перевода строки. - Метод
sys.stdout.write()предлагает альтернативу, когда нужен полный контроль. - При печати коллекций
end=" "держит элементы в строке.
Python
- Как новые технологии трансформируют огнеупорные материалы
- Мастерство ввода-вывода и импорта модулей в Python: Практическое руководство
- Получение текущей даты и времени в Python: практическое руководство
- Комментарии в C: пишем понятные и эффективные заметки
- Функция print() в Python: практическое руководство с примерами
- Проверка существования файлов и директорий в Python — практическое руководство
- Вычисление среднего значения в Python: практическое руководство
- Легкая перемена двух Python-переменных без временной переменной
- Революция в интеграции линий: современные вызовы и решения
- Добавление нового инструмента на станок ЧПУ: Пошаговое руководство