Warum wirft Python 2.x bei Verwendung des Schlüsselwortarguments „end' einen „SyntaxError: Fehlende Klammern im Aufruf von ‚print'' aus?

Mary-Kate Olsen
Freigeben: 2024-11-10 00:23:02
Original
496 Leute haben es durchsucht

Why Does Python 2.x Throw a

Syntaxfehler mit Print- und End-Keyword-Argument behandeln

Beim Versuch, den folgenden Code auszuführen:

if Verbose:
   print("Building internal Index for %d tile(s) ...", end=' ')
Nach dem Login kopieren

an Es tritt ein Fehler auf: „SyntaxError: Fehlende Klammern im Aufruf von ‚print‘“. Dies liegt daran, dass das Schlüsselwortargument end in Python 2.x nicht unterstützt wird.

Den Unterschied verstehen

In Python 2.x funktioniert print als Anweisung. Daher wird der obige Code als ein mit Tupeln umschlossener Aufruf von print interpretiert, wobei das letzte Argument ein String-Literal ist. Allerdings unterstützen String-Literale keine Schlüsselwortargumente, was zu dem Fehler führt.

Lösung für Python 2.x

Verwenden Sie in Python 2.x eine der folgenden Methoden Methoden zum Beenden einer Zeile mit einem Leerzeichen:

  • Fügen Sie dem Ausdruck ein letztes Komma hinzu Anweisung:

    print "Building internal Index for %d tile(s) ...",
    Nach dem Login kopieren
  • Verwenden Sie das sys.stdout-Modul direkt für eine bessere Kontrolle über die Ausgabe:

    import sys
    sys.stdout.write("Building internal Index for %d tile(s) ... ")
    Nach dem Login kopieren

Enabling End Schlüsselwortargument in Python 2.x

In neueren Versionen von Python 2.x (2.5 und höher) ermöglicht das Modul __future__ die Aktivierung der Druckfunktion als Funktion durch den Import von print_function. Diese Methode ist jedoch möglicherweise nicht mit älteren Python 2.x-Versionen kompatibel.

Übergang zu Python 3.x

In Python 3.x verhält sich print wie ein Funktion, die die Verwendung von Schlüsselwortargumenten wie end ermöglicht. Daher sollte der Originalcode ohne Änderungen korrekt in Python 3.x ausgeführt werden.

Das obige ist der detaillierte Inhalt vonWarum wirft Python 2.x bei Verwendung des Schlüsselwortarguments „end' einen „SyntaxError: Fehlende Klammern im Aufruf von ‚print'' aus?. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!

Quelle:php.cn
Erklärung dieser Website
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
Neueste Artikel des Autors
Beliebte Tutorials
Mehr>
Neueste Downloads
Mehr>
Web-Effekte
Quellcode der Website
Website-Materialien
Frontend-Vorlage