Maison >développement back-end >Tutoriel Python >Pourquoi est-ce que j'obtiens une SyntaxError lors de l'utilisation de « end » dans l'instruction « print » en Python ?

Pourquoi est-ce que j'obtiens une SyntaxError lors de l'utilisation de « end » dans l'instruction « print » en Python ?

Mary-Kate Olsen
Mary-Kate Olsenoriginal
2024-11-08 19:55:02725parcourir

Why Am I Getting a SyntaxError When Using `end` in the `print` Statement in Python?

Erreur de syntaxe en Python : argument de mot-clé égaré dans la déclaration d'impression

Lorsque vous essayez d'utiliser l'argument de mot-clé end dans une instruction d'impression, vous pouvez rencontrer une SyntaxError dans certaines versions de Python. Cette erreur survient en raison du traitement différent de l'instruction print entre Python 2.x et 3.x.

Dans Python 2.x, print est considéré comme une instruction et non comme une fonction. Par conséquent, il ne peut pas accepter directement les arguments de mots-clés. Par conséquent, l'utilisation de end=' ' entraînera une SyntaxError car print s'attend à ce que les arguments soient mis entre parenthèses.

Dans Python 3.x, print a été converti en fonction, lui permettant de recevoir des arguments de mots clés. Les arguments de mots clés vous permettent de spécifier un nom de paramètre spécifique lors du passage d'une valeur, tel que end=' " pour contrôler le comportement de la ligne du terminal de sortie.

Si vous utilisez Python 2.x et souhaitez obtenir la même fonctionnalité , vous pouvez utiliser les approches alternatives suivantes :

  • Utilisez une virgule à la fin de l'instruction : print "foo" % bar,
  • Utilisez sys.stdout pour un meilleur contrôle sur la sortie : sys.stdout.write("foo" % bar " ")

Pour activer la syntaxe d'impression moderne dans Python 2.x, vous pouvez importer le module __future__ et inclure print_function :

from __future__ import print_function

Cela transformera efficacement print en une fonction dans le cadre de votre fichier de script. Il est important de noter que cette méthode peut ne pas être prise en charge dans les anciennes versions de Python 2.x (par exemple inférieures à 2.5).

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