Pourquoi est-ce que je reçois une erreur de syntaxe lors de l'impression d'une chaîne dans Python 3?
>>> print "hello World"
File "<stdin>", line 1
print "hello World"
^
SyntaxError: invalid syntax
Dans Python 3, print
est devenue une fonction . Cela signifie que vous devez maintenant inclure les parenthèses, comme indiqué ci-dessous:
print("Hello World")
Il semble que vous utilisiez Python 3.0, dans lequel l'impression est devenue une fonction appelable plutôt qu'une instruction.
print('Hello world!')
Parce que dans Python 3, print statement
a été remplacé par print() function
, avec des arguments de mot-clé pour remplacer la majeure partie de la syntaxe spéciale de l'ancienne instruction print. Donc, vous devez l'écrire comme
print("Hello World")
Mais si vous écrivez ceci dans un programme et que quelqu'un utilisant Python 2.x essaye de s'exécuter, il obtiendra une erreur. Pour éviter cela, il est recommandé d’importer une fonction d’impression.
from __future__ import print_function
Maintenant, votre code fonctionne sur les versions 2.x et 3.x
Consultez également les exemples ci-dessous pour vous familiariser avec la fonction 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)!
Source: Quoi de neuf dans Python 3.0?
Dans Python 3.0, print
est une fonction régulière qui nécessite ():
print("Hello world")
Dans Python 3, il s'agit de print("something")
et non de print "something"
.
Il semble que vous utilisiez Python 3. Dans Python 3, print a été remplacé par une méthode plutôt que par une instruction. Essaye ça:
print("hello World")
Dans Python 3, vous devez utiliser print('some code')
. En effet, dans Python 3, il est devenu une fonction. Si vous le devez, vous pouvez utiliser votre code Python 2 et le convertir en code Python 3 à l'aide de 2to3
- c'est un excellent programme intégré fourni avec Python. Pour plus d'informations, voir Python 2to3 - Convertissez votre Python 2 en Python 3 automatiquement!.
Vous devez utiliser des crochets avec print:
print("Hello, World!")
Dans Python 2.X print
est un mot clé , alors que dans Python 3.X print
devient une fonction, de sorte que le La manière correcte de le faire est print(something)
.
Vous pouvez obtenir la liste des mots-clés pour chaque version en exécutant les opérations suivantes:
>>> import keyword
>>> keyword.kwlist