Функция print в Python: вывод данных на экран

Выводит переданные аргументы на экран. Принимает один или несколько объектов для вывода. Выводом можно управлять с помощью необязательных аргументов sep, end, file и flush.

print(*objects, sep=' ', end='\n', file=None, flush=False)

  • objects — один или несколько объектов для вывода.
  • sep — строка-разделитель между объектами. По умолчанию это пробел.
  • end — строка, добавляемая после последнего объекта. По умолчанию это перенос строки.
  • file — объект, куда будет направлен вывод. По умолчанию это стандартный поток вывода (экран).
  • flush — если True, то вывод будет происходить немедленно. По умолчанию False.

Вызов print

Для вызова print нужно использовать скобки, как и для любой другой функции. Как правило, первая программа на Python для каждого программиста и есть вызов функции print с одним аргументом — строкой ”Привет, мир!”:

print("Привет, мир!")

Обратите внимание, что для Python 2 скобки при использовании print были необязательны, а вот в Python 3 без скобок ничего не заработает.

Несколько объектов для вывода

Для вывода на экран нескольких значений нужно разделить их запятой. Таких позиционных аргументов может быть сколько угодно. Каждый из аргументов автоматически преобразуется в строку по тем же правилам, что при использовании str и выводится на экран:

answer = 42
items = ["яблоко", "банан", "апельсин"]
print("Главный ответ:", answer)
print("Список фруктов:", items)
Главный ответ: 42
Список фруктов: ['яблоко', 'банан', 'апельсин']

sep — разделитель

Аргумент sep функции print определяет строку для разделения переданных аргументов. По умолчанию это символ пробела, но вы можете изменить это с помощью sep:

print("Привет", "мир!")
print("Привет", "мир!", sep="-")
Привет мир!
Привет-мир!

В качестве разделителя можно использовать несколько символов, или, например, символ переноса строки:

print("Привет", "мир!", sep="/-/") 
print("Привет", "мир!", sep="\n")
Привет/-/мир!
Привет
мир!

Также можно убрать разделитель вовсе, передав sep равный пустой строке:

print("Привет", "мир!", sep="")
Приветмир!

end — заканчивающая строка

Аргумент end функции print определяет строку, которая будет добавлена после вывода всех переданных аргументов. По умолчанию это перенос строки ”\n”:

print("Привет")
print("мир!")
Привет
мир!

Например, можно передать в качестве end символ пробела и два вызова print выведут переданный текст в одну строку, без переносов:

print("Привет", end=" ")
print("мир!")
Привет мир!

Если объекты для вывода не переданы, на экран будет выведен только параметр end:

print() # выведет только перенос строки
print('Привет!')

Привет!

file — вывод в файл

Аргумент file позволяет направлять вывод не только на экран (стандартный поток вывода), но и в любой другой объект, который поддерживает метод write, например, в файл. Это может быть полезно для сохранения вывода программы и его последующего анализа. Чтобы использовать этот аргумент, необходимо сначала открыть файл с помощью функции open:

with open('output.txt', 'w') as file:
    print("Это сообщение будет записано в файл.", file=file)

flush — буферизация вывода

Аргумент flush в функции print управляет буферизацией вывода. По умолчанию Python буферизует вывод, что означает, что он не сразу выводит текст на экран или в файл, а собирает его в буфер и выводит порциями. Это увеличивает эффективность вывода, но может, хоть и не всегда, вызвать задержки в отображении данных. Если установить flush в True, то вывод будет происходить немедленно, что может быть полезно в тех случаях, когда результат нужно видеть немедленно:

print("Это сообщение выведется сразу же", flush=True)