Heim  >  Artikel  >  Backend-Entwicklung  >  Warum verursacht `print(value, end='')` einen SyntaxError in Python 3.x?

Warum verursacht `print(value, end='')` einen SyntaxError in Python 3.x?

Mary-Kate Olsen
Mary-Kate OlsenOriginal
2024-11-09 14:45:02947Durchsuche

Why Does `print(value, end=' ')` Cause a 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!

Stellungnahme:
Der Inhalt dieses Artikels wird freiwillig von Internetnutzern beigesteuert und das Urheberrecht liegt beim ursprünglichen Autor. Diese Website übernimmt keine entsprechende rechtliche Verantwortung. Wenn Sie Inhalte finden, bei denen der Verdacht eines Plagiats oder einer Rechtsverletzung besteht, wenden Sie sich bitte an admin@php.cn