Maison > développement back-end > Tutoriel Python > Comment corriger l'erreur de formatage de chaîne lors du mélange des espaces réservés % et {} ?

Comment corriger l'erreur de formatage de chaîne lors du mélange des espaces réservés % et {} ?

Linda Hamilton
Libérer: 2024-10-18 12:03:15
original
364 Les gens l'ont consulté

How to Correct String Formatting Error When Mixing % and {} Placeholders?

Error in String Formatting Using % and {}

While attempting to format strings using placeholders like {0}, you may encounter the error "TypeError: not all arguments converted during string formatting." This error arises due to a misunderstanding of the syntax differences between old-style % formatting and new-style {} formatting.

Old-Style % Formatting

The old-style % formatting technique employs placeholder codes% to format strings. For single values, they can be written as is:

'It will cost $%d dollars.' % 95
Copier après la connexion

For multiple values, they must be supplied as a tuple:

"'%s' is longer than '%s'" % (name1, name2)
Copier après la connexion

New-Style {} Formatting

The new-style {} formatting uses placeholder codes {} and the .format method. Here's the key difference: you cannot mix and match the two styles. If the "template" string contains {} placeholders, then call .format, don't use %.

'It will cost ${0} dollars.'.format(95)

"'{0}' is longer than '{1}'".format(name1, name2)
Copier après la connexion

Correcting the Code

To address the error in the given code, you can either use % formatting consistently or switch to {} formatting:

Old-style % Formatting

print ("'{0}' is longer than '{1}'"% (name1, name2))
Copier après la connexion

New-style {} Formatting

print ("'{0}' is longer than '{1}'".format(name1, name2))
Copier après la connexion

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 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