Wenn ich versuche, eine print
-Anweisung in Python zu verwenden, erhalte ich folgenden Fehler:
>>> print "Hello, World!"
File "<stdin>", line 1
print "Hello, World!"
^
SyntaxError: Missing parentheses in call to 'print'
Was bedeutet das?
Leider ist der alte xkcd comic nicht mehr ganz aktuell.
Seit Python 3.0 müssen Sie schreiben:
print("Hello, World!")
Und jemand muss noch diese antigravity
Bibliothek schreiben :(
Die Syntax wurde von Python 2 in Python 3 geändert. In Python 2
print "Hello, World!"
wird funktionieren, aber in Python 3 verwenden Sie Klammern als
print("Hello, World!")
Dies ist eine äquivalente Syntax zu Scala und in der Nähe von Java.
Wenn Ihr Code sowohl in Python 2 als auch in _ 3 funktionieren soll, können Sie dies erreichen, indem Sie dies am Anfang Ihres Programms laden:
from __future__ import print_function # If code has to work in Python 2 and 3!
Dann können Sie auf Python 3 Weise drucken:
print("python")
Wenn Sie etwas drucken möchten, ohne eine neue Zeile zu erstellen, können Sie dies tun:
for number in range(0, 10):
print(number, end=', ')
In Python 3 können Sie nur drucken als:
print("STRING")
In Python 2 sind die Klammern jedoch nicht erforderlich.
Außerhalb der direkten Antworten sollte man den anderen Hauptunterschied zwischen python 2 und 3 beachten. Das offizielle python-Wiki bezieht sich auf fast alle wichtigen Themen Unterschiede und konzentriert sich darauf, wann Sie eine der Versionen verwenden sollten. Dieser Blog-Beitrag erklärt auch das aktuelle python-Universum und das irgendwie ungelöste Rätsel, nach python 3 zu wechseln.
Soweit ich das beurteilen kann, lernst du gerade die Sprache python. Sie sollten die oben genannten Artikel berücksichtigen, bevor Sie die Route python 3 fortsetzen. Sie müssen nicht nur einige Syntaxänderungen vornehmen, sondern auch überlegen, welche Pakete für Sie verfügbar sind (ein Vorteil von python 2) und welche Optimierungsmöglichkeiten in Ihrem Code bestehen ( ein Vorteil von python 3).