Maison > Article > développement back-end > Comment corriger « TypeError : tous les arguments ne sont pas convertis lors du formatage de chaîne » en Python ?
TypeError : tous les arguments ne sont pas convertis lors du formatage de la chaîne résolus
Lors de la tentative de formatage d'une chaîne à l'aide d'espaces réservés comme {0} avec le formatage % opérateur, vous pouvez rencontrer une erreur « TypeError : tous les arguments ne sont pas convertis lors du formatage de la chaîne ». Cette erreur indique une incohérence dans le style de formatage que vous utilisez.
La solution réside dans l'utilisation de l'opérateur de formatage de chaîne correct. Dans votre cas, vous utilisez le formatage % mais essayez de remplacer les espaces réservés par la méthode .format, qui est incompatible. Pour résoudre ce problème, vous devez soit utiliser l'opérateur de formatage % de manière cohérente, soit passer à la méthode .format.
Si vous choisissez de conserver le formatage %, voici un exemple :
<code class="python">print(""'%s' is longer than '%s'" % (name1, name2)) # Correct use of % formatting</code>
Cependant, l'utilisation de la méthode .format est l'approche préférée :
<code class="python">print("'{0}' is longer than '{1}'".format(name1, name2)) # Correct use of .format</code>
N'oubliez pas que la méthode .format nécessite que les espaces réservés soient placés entre accolades {} et que les valeurs soient transmises comme arguments à la méthode. .
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!