Dépannage de SyntaxError pour l'impression avec l'argument de mot-clé end='
Dans Python 3.x, utilisation de la syntaxe end=' " lors de l'appel de print () peut déclencher une SyntaxError. Ceci est souvent rencontré lors de la mise à niveau du code à partir de Python 2.x, où print est toujours traité comme une instruction plutôt que comme une fonction.
Explication
Dans Python 2.x , print est syntaxiquement une instruction et n'accepte donc pas d'arguments de mots clés. Par conséquent, print("foo" % bar, end=" ") est une syntaxe invalide et générera une SyntaxError.
Dans Python 3.x, cependant, print est mis à niveau vers une fonction, lui permettant de prendre des arguments de mots-clés, y compris la fin. Cela signifie que print("foo" % bar, end=" ") est désormais une syntaxe valide et attendue dans Python 3.x.
Résolution
Si vous Si vous rencontrez l'erreur SyntaxError dans Python 3.x, assurez-vous que vous utilisez la syntaxe correcte : print(value, end=" ").
Pour la portabilité du code, envisagez d'utiliser les idiomes suivants dans Python 2.x :
print("foo" % bar, ) # Add a trailing comma to prevent a line break sys.stdout.write("foo" % bar + " ") # Use sys.stdout for direct output manipulation
Alternativement, si possible, vous pouvez activer la future importation print_function dans Python 2.x pour utiliser la syntaxe d'impression Python 3.x :
from __future__ import print_function
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!