Errore di sintassi sulla stampa con Python 3 [duplicato]
-
05-07-2019 - |
Domanda
Questa domanda ha già una risposta qui:
Perché ricevo un errore di sintassi durante la stampa di una stringa in Python 3?
>>> print "hello World"
File "<stdin>", line 1
print "hello World"
^
SyntaxError: invalid syntax
Soluzione
In Python 3, print
è diventata una funzione . Ciò significa che è necessario includere tra parentesi ora come indicato di seguito:
print("Hello World")
Altri suggerimenti
Sembra che tu stia usando Python 3.0, in cui print è diventata una funzione richiamabile anziché un'istruzione.
print('Hello world!')
Perché in Python 3, istruzione print
è stata sostituita con una funzione print ()
, con argomenti di parole chiave per sostituire la maggior parte della sintassi speciale della vecchia istruzione print. Quindi devi scriverlo come
print("Hello World")
Ma se scrivi questo in un programma e qualcuno che usa Python 2.x tenta di eseguire, riceverà un errore. Per evitare ciò, è buona norma importare la funzione di stampa
from __future__ import print_function
Ora il codice funziona sia su 2.x che su amp; 3.x
Dai un'occhiata agli esempi seguenti anche per familiarizzare con la funzione print ().
Old: print "The answer is", 2*2
New: print("The answer is", 2*2)
Old: print x, # Trailing comma suppresses newline
New: print(x, end=" ") # Appends a space instead of a newline
Old: print # Prints a newline
New: print() # You must call the function!
Old: print >>sys.stderr, "fatal error"
New: print("fatal error", file=sys.stderr)
Old: print (x, y) # prints repr((x, y))
New: print((x, y)) # Not the same as print(x, y)!
Fonte: Novità di Python 3.0?