Pourquoi Python 2.x renvoie-t-il une « Erreur de syntaxe : parenthèses manquantes dans l'appel à « imprimer » » lors de l'utilisation de l'argument de mot-clé « fin » ?

Mary-Kate Olsen
Libérer: 2024-11-10 00:23:02
original
497 Les gens l'ont consulté

Why Does Python 2.x Throw a

Gestion de SyntaxError avec l'argument de mot-clé d'impression et de fin

Lors de la tentative d'exécution du code suivant :

if Verbose:
   print("Building internal Index for %d tile(s) ...", end=' ')
Copier après la connexion

un une erreur se produit : "SyntaxError : parenthèses manquantes dans l'appel à 'print'". En effet, le mot clé argument end n'est pas pris en charge dans Python 2.x.

Comprendre la différence

Dans Python 2.x, print fonctionne sous forme d'instruction. Par conséquent, le code ci-dessus est interprété comme un appel à print enveloppé dans un tuple, l'argument final étant une chaîne littérale. Cependant, les littéraux de chaîne ne prennent pas en charge les arguments de mots-clés, ce qui entraîne l'erreur.

Solution pour Python 2.x

Dans Python 2.x, utilisez l'un des éléments suivants méthodes pour terminer une ligne par un espace :

  • Ajouter une virgule finale à l'impression déclaration :

    print "Building internal Index for %d tile(s) ...",
    Copier après la connexion
  • Utilisez le module sys.stdout directement pour un meilleur contrôle sur la sortie :

    import sys
    sys.stdout.write("Building internal Index for %d tile(s) ... ")
    Copier après la connexion

Activation de la fin Argument de mot clé dans Python 2.x

Dans les versions récentes de Python 2.x (2.5 et versions ultérieures), le module __future__ permet l'activation de la fonction print en tant que fonction en important print_function. Cependant, cette méthode peut ne pas être compatible avec les anciennes versions de Python 2.x.

Transition vers Python 3.x

Dans Python 3.x, print se comporte comme un fonction, permettant l’utilisation d’arguments de mots-clés tels que end. Par conséquent, le code original doit s'exécuter correctement dans Python 3.x sans aucune modification.

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!

source:php.cn
Déclaration de ce site Web
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
Derniers articles par auteur
Tutoriels populaires
Plus>
Derniers téléchargements
Plus>
effets Web
Code source du site Web
Matériel du site Web
Modèle frontal