Sto imparando Python e non può nemmeno scrivere il primo esempio:Sintassi non valida quando si utilizza "stampa"?
print 2 ** 100
questo dà SyntaxError: invalid syntax
che punta al 2.
Perché è questo? Sto usando la versione 3.1
Sto imparando Python e non può nemmeno scrivere il primo esempio:Sintassi non valida quando si utilizza "stampa"?
print 2 ** 100
questo dà SyntaxError: invalid syntax
che punta al 2.
Perché è questo? Sto usando la versione 3.1
Questo perché in Python 3, hanno sostituito il print
dichiarazione con la funzioneprint
.
La sintassi è ora più o meno la stessa di prima, ma richiede parens:
Dalle "what's new in python 3" documenti:
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)!
Vedi questo per ulteriori informazioni: [Perché la dichiarazione di stampa non è pythonic?] (http://stackoverflow.com/questions/1053849/why-print-statement-is-not-pythonic) – Will
È necessario parentesi:
print(2**100)
Hanno cambiato print
in Python 3. In 2 era una dichiarazione, ora è una funzione e richiede una parentesi.
Ecco the docs from Python 3.0.
La sintassi è cambiato in nuove versioni 3.x, piuttosto che versioni vecchie 2.x: ad esempio in python 2.x si può scrivere: print "Ciao mondo nuovo" ma nella nuova versione 3.x è necessario utilizzare la nuova sintassi e scrivere in questo modo: di stampa ("nuovo mondo Hi")
controllo della documentazione: http://docs.python.org/3.3/library/functions.html?highlight=print#print
Dove hai trovato questo esempio? È in un libro o in un sito web? –
Potrebbe essere * Imparare Python *. –
jleedev è corretto; è OReilly Learning Python 3rd edition 2007. –