Maison  >  Article  >  développement back-end  >  Pourquoi est-ce que j'obtiens une erreur SyntaxError : syntaxe invalide pour l'impression avec l'argument de mot-clé de fin dans Python 2.x ?

Pourquoi est-ce que j'obtiens une erreur SyntaxError : syntaxe invalide pour l'impression avec l'argument de mot-clé de fin dans Python 2.x ?

Susan Sarandon
Susan Sarandonoriginal
2024-11-13 04:45:02549parcourir

Why Am I Getting a SyntaxError: Invalid Syntax for print with End Keyword Argument in Python 2.x?

SyntaxError : Syntaxe invalide pour l'impression avec l'argument de fin de mot-clé

Dans Python 3.x, l'instruction d'impression a été remplacée par une fonction, vous permettant d'utiliser des arguments de mots clés tels que end. Cependant, vous pouvez rencontrer une SyntaxError lorsque vous essayez d'utiliser cette syntaxe dans Python 2.x.

Raison de SyntaxError dans Python 2.x

Python 2.x traite imprimer sous forme d'instruction au lieu d'une fonction. Par conséquent, l'utilisation d'arguments de mots clés dans une instruction print n'est pas une syntaxe valide dans cette version de Python.

Exemple de syntaxe invalide dans Python 2.x

if Verbose:
   print("Building internal Index for %d tile(s) ..." % len(inputTiles), end=' ')

Explication de l'erreur

Le code ci-dessus tente d'utiliser l'argument de mot-clé de fin dans une instruction d'impression. Cependant, dans Python 2.x, cette syntaxe n'est pas reconnue, ce qui entraîne une SyntaxError.

Alternatives au mot-clé de fin dans Python 2.x

Dans Python 2. x, il existe d'autres moyens d'obtenir le comportement souhaité sans utiliser le mot-clé de fin :

  • Imprimer une virgule Arguments séparés : Pour terminer une ligne avec un espace sans saut de ligne, utilisez une virgule après le dernier argument.
print("Building internal Index for %d tile(s) ..." % len(inputTiles),)
  • Utilisez directement sys.stdout : Pour plus de contrôle sur la sortie, envisagez d'utiliser directement sys.stdout.write().
import sys
sys.stdout.write("Building internal Index for %d tile(s) ... ".format(len(inputTiles)))

Ce qui précède est le contenu détaillé de. pour plus d'informations, suivez d'autres articles connexes sur le site Web de PHP en chinois!

Déclaration:
Le contenu de cet article est volontairement contribué par les internautes et les droits d'auteur appartiennent à l'auteur original. Ce site n'assume aucune responsabilité légale correspondante. Si vous trouvez un contenu suspecté de plagiat ou de contrefaçon, veuillez contacter admin@php.cn