print
это просто тонкая оболочка, которая форматирует входные данные (изменяемые, но по умолчанию с пробелом между аргументами и символом новой строки в конце) и вызывает функцию записи для данного объекта. По умолчанию этот объект есть sys.stdout
, но вы можете передать файл, используя форму «шеврон». Например:
print >> open('file.txt', 'w'), 'Hello', 'World', 2+3
Смотрите: https://docs.python.org/2/reference/simple_stmts.html?highlight=print#the-print-statement
В Python 3.x print
становится функцией, но все еще возможно передать что-то иное, чем sys.stdout
благодаря file
аргументу.
print('Hello', 'World', 2+3, file=open('file.txt', 'w'))
См. Https://docs.python.org/3/library/functions.html#print.
В Python 2.6+ print
это все еще оператор, но его можно использовать как функцию с
from __future__ import print_function
Обновление: Бакуриу прокомментировал, что указал на небольшую разницу между функцией печати и оператором печати (и, в более общем смысле, между функцией и оператором).
В случае ошибки при оценке аргументов:
print "something", 1/0, "other" #prints only something because 1/0 raise an Exception
print("something", 1/0, "other") #doesn't print anything. The function is not called