110 votes

Syntaxe invalide lors de l'utilisation de "print" ?

J'apprends Python et je n'arrive même pas à écrire le premier exemple :

print 2 ** 100

cela donne SyntaxError: invalid syntax

en pointant vers le 2.

Pourquoi ça ? J'utilise la version 3.1

228voto

TM. Points 20051

C'est parce que dans Python 3, ils ont remplacé la fonction print déclaration avec le print fonction .

La syntaxe est maintenant plus ou moins la même que précédemment, mais elle nécessite des parens :

De la " Quoi de neuf dans python 3 " docs :

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)!

14voto

John Rasch Points 28874

Tu as besoin de parenthèses :

print(2**100)

8voto

Schwern Points 33677

Ils ont changé print dans Python 3. Dans 2, c'était une déclaration, maintenant c'est une fonction et nécessite des parenthèses.

Voici les docs de Python 3.0 .

2voto

NKN Points 1961

La syntaxe est modifiée dans les nouvelles versions 3.x plutôt que dans les anciennes versions 2.x : Par exemple, dans python 2.x, vous pouvez écrire : print "Hi new world" mais dans la nouvelle version 3.x, vous devez utiliser la nouvelle syntaxe et l'écrire comme ceci : print("Hi new world")

Vérifiez la documentation : http://docs.python.org/3.3/library/functions.html?highlight=print#print

1voto

shahkalpesh Points 21553

C'est bizarre. Cela fonctionne pour moi dans Python 2.6 & cela fonctionne sans parenthèses.

Prograide.com

Prograide est une communauté de développeurs qui cherche à élargir la connaissance de la programmation au-delà de l'anglais.
Pour cela nous avons les plus grands doutes résolus en français et vous pouvez aussi poser vos propres questions ou résoudre celles des autres.

Powered by:

X