"Si un ouvrier veut bien faire son travail, il doit d'abord affûter ses outils." - Confucius, "Les Entretiens de Confucius. Lu Linggong"
Page de garde > La programmation > Comment éviter « TypeError : tous les arguments ne sont pas convertis » lors de l'utilisation du formatage d'espace réservé en Python

Comment éviter « TypeError : tous les arguments ne sont pas convertis » lors de l'utilisation du formatage d'espace réservé en Python

Publié le 2024-11-03
Parcourir:230

How to Avoid \

TypeError lors du remplacement d'un espace réservé par le formatage en %

Lorsque vous tentez de remplacer un espace réservé comme {0} en utilisant le formatage en %, les développeurs peuvent rencontrer le problème suivant erreur : "TypeError : tous les arguments ne sont pas convertis lors du formatage de la chaîne." Cette erreur provient d'un formatage incorrect, en particulier en raison d'une confusion entre le formatage % à l'ancienne et le formatage {} de style nouveau.

Le formatage % à l'ancienne utilise des espaces réservés tels que %d pour le formatage, comme illustré ci-dessous. :

'It will cost $%d dollars.' % 95

Cependant, lors de l'utilisation de plusieurs valeurs, elles doivent être fournies sous forme de tuple :

"'%s' is longer than '%s'" % (name1, name2)

D'un autre côté, le nouveau formatage {} utilise des espaces réservés comme {} et la méthode .format. Il est crucial d'éviter de mélanger ces deux styles. Si la chaîne du modèle contient {} espaces réservés, .format doit être utilisé et non %.

# Correct:
'It will cost ${0} dollars.'.format(95)
"'{0}' is longer than '{1}'".format(name1, name2)

# Incorrect (Do not mix % and {}):
'It will cost ${0} dollars.' % 95
"'%0' is longer than '%1'" % (name1, name2)

En adhérant à ces directives de formatage, les développeurs peuvent résoudre l'erreur "TypeError : tous les arguments ne sont pas convertis lors du formatage de la chaîne" et formater leurs chaînes correctement.

Déclaration de sortie Cet article est réimprimé à l'adresse : 1729221315. En cas d'infraction, veuillez contacter [email protected] pour le supprimer.
Dernier tutoriel Plus>

Clause de non-responsabilité: Toutes les ressources fournies proviennent en partie d'Internet. En cas de violation de vos droits d'auteur ou d'autres droits et intérêts, veuillez expliquer les raisons détaillées et fournir une preuve du droit d'auteur ou des droits et intérêts, puis l'envoyer à l'adresse e-mail : [email protected]. Nous nous en occuperons pour vous dans les plus brefs délais.

Copyright© 2022 湘ICP备2022001581号-3