Heim > Artikel > Backend-Entwicklung > Warum verursacht `print(value, end='')` einen SyntaxError in Python 3.x?
Fehlerbehebung bei SyntaxError für Print mit dem Schlüsselwortargument end='
In Python 3.x wird beim Aufruf von print die Syntax end=' ' verwendet () kann einen SyntaxError auslösen. Dies tritt häufig beim Upgrade von Code von Python 2.x auf, bei dem print immer noch als Anweisung und nicht als Funktion behandelt wird.
Erklärung
In Python 2.x , print ist syntaktisch eine Anweisung und akzeptiert daher keine Schlüsselwortargumente. Infolgedessen ist print("foo" % bar, end=" ") eine ungültige Syntax und löst einen SyntaxError aus.
In Python 3.x wird print jedoch zu einer Funktion aktualisiert, sodass dies möglich ist Nehmen Sie Schlüsselwortargumente einschließlich Ende an. Das bedeutet, dass print("foo" % bar, end=" ") jetzt die gültige und erwartete Syntax in Python 3.x ist.
Auflösung
Wenn Sie Wenn Sie in Python 3.x auf den SyntaxError stoßen, stellen Sie sicher, dass Sie die richtige Syntax verwenden: print(value, end=" ").
Zur Code-Portabilität sollten Sie die Verwendung der folgenden Redewendungen in Python 2.x in Betracht ziehen :
print("foo" % bar, ) # Add a trailing comma to prevent a line break sys.stdout.write("foo" % bar + " ") # Use sys.stdout for direct output manipulation
Alternativ können Sie, wenn möglich, den zukünftigen Import der print_function in Python 2.x aktivieren, um die Python 3.x-Drucksyntax zu verwenden:
from __future__ import print_function
Das obige ist der detaillierte Inhalt vonWarum verursacht `print(value, end='')` einen SyntaxError in Python 3.x?. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!