Функция 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)