print
jest tylko cienkim opakowaniem, które formatuje dane wejściowe (modyfikowalne, ale domyślnie ze spacją między argumentami i znakiem nowej linii na końcu) i wywołuje funkcję zapisu danego obiektu. Domyślnie ten obiekt jest sys.stdout
, ale plik można przekazać za pomocą formularza „chevron”. Na przykład:
print >> open('file.txt', 'w'), 'Hello', 'World', 2+3
Zobacz: https://docs.python.org/2/reference/simple_stmts.html?highlight=print#the-print-statement
W Pythonie 3.x print
staje się funkcją, ale nadal można przekazać coś innego niż sys.stdout
dzięki file
argumentowi.
print('Hello', 'World', 2+3, file=open('file.txt', 'w'))
Zobacz https://docs.python.org/3/library/functions.html#print
W Pythonie 2.6+ print
wciąż jest instrukcją, ale może być używana jako funkcja z
from __future__ import print_function
Aktualizacja: Bakuriu skomentował, że istnieje niewielka różnica między funkcją print a instrukcją print (a bardziej ogólnie między funkcją a instrukcją).
W przypadku błędu podczas oceny argumentów:
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