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
È stato utile?

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?

Autorizzato sotto: CC-BY-SA insieme a attribuzione
Non affiliato a StackOverflow
scroll top