print_stmt |
::= | "print" ( [expression ("," expression)* [","]] |
| "> |
print valuta un'espressione alla volta e scrive l'oggetto risultante sullo standard output (vedere sotto). Se un oggetto non è una stringa, viene prima convertito in una stringa usando le regole per la conversione. La stringa (risultante o originale) viene quindi scritta. Prima di ogni oggetto viene scritto uno spazio a meno che il sistema di output non creda che sia posizionato all'inizio di una riga. Questo è il caso (1) quando nessun carattere è stato ancora scritto sullo standard output, (2) quando l'ultimo carattere scritto sullo standard output è "\n", o (3) quando l'ultima operazione di scrittura sullo standard output non è stata un'istruzione print. (Per questa ragione in alcuni casi può essere funzionale scrivere una stringa vuota sullo standard output.) Note: gli oggetti che si comportano come oggetti file ma che non sono oggetti file built-in, spesso non emulano appropriatamente questo aspetto del comportamento degli oggetti file, così non è buona norma fare affidamento su questo comportamento.
Alla fine viene scritto un carattere "\n", a meno che l'istruzione print non termini con una virgola. Questa è la sola azione se la l'istruzione contiene solo la parola chiave print.
Lo standard output viene definito come l'oggetto file chiamato stdout nel modulo built-in sys. Se non esiste nessun oggetto, o se non possiede un metodo write(), viene sollevata un'eccezione RuntimeError.
print possiede anche una forma
estesa, definita dalla seconda
porzione della sintassi descritta sopra. Ci si riferisce a questa
forma come ``print chevron''. In questa forma, la prima
espressione dopo il simbolo >
>
deve riferirsi ad un
oggetto ``similfile'' e specificamente ad un oggetto che abbia un
metodo write(), come descritto sopra. Se la prima
espressione valutata è None
, viene usato sys.stdout
come
file per l'output.
Vedete Circa questo documento... per informazioni su modifiche e suggerimenti.