Функция print в Python

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

Вызов 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)