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