print
è solo un wrapper sottile che formatta gli input (modificabili, ma per impostazione predefinita con uno spazio tra args e newline alla fine) e chiama la funzione di scrittura di un determinato oggetto. Per impostazione predefinita, questo oggetto è sys.stdout
, ma è possibile passare un file utilizzando il modulo "chevron". Per esempio:
print >> open('file.txt', 'w'), 'Hello', 'World', 2+3
Vedi: https://docs.python.org/2/reference/simple_stmts.html?highlight=print#the-print-statement
In Python 3.x print
diventa una funzione, ma è ancora possibile passare qualcosa di diverso da quello sys.stdout
grazie file
all'argomento.
print('Hello', 'World', 2+3, file=open('file.txt', 'w'))
Vedi https://docs.python.org/3/library/functions.html#print
In Python 2.6+, print
è ancora un'istruzione, ma può essere utilizzata come funzione con
from __future__ import print_function
Aggiornamento: Bakuriu ha commentato per sottolineare che c'è una piccola differenza tra la funzione di stampa e l'istruzione di stampa (e più in generale tra una funzione e un'istruzione).
In caso di errore durante la valutazione degli argomenti:
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