Maison >développement back-end >Tutoriel Python >Comment échapper correctement aux signes de pourcentage dans le formatage de chaîne Python ?

Comment échapper correctement aux signes de pourcentage dans le formatage de chaîne Python ?

Barbara Streisand
Barbara Streisandoriginal
2024-11-29 00:49:12990parcourir

How to Properly Escape Percent Signs in Python String Formatting?

Échappement sélectif des signes de pourcentage dans les chaînes Python

En Python, le signe de pourcentage (%) est utilisé comme espace réservé pour formater les valeurs dans cordes. Cependant, dans certains cas, vous souhaiterez peut-être échapper sélectivement le signe de pourcentage pour l'afficher sous forme de caractère littéral. Ceci peut être réalisé en ajoutant un signe de pourcentage supplémentaire avant celui auquel vous souhaitez échapper.

Exemple :

Considérez le code suivant :

test = "have it break."
selectiveEscape = "Print percent % in sentence and not %s" % test
print(selectiveEscape)

Le code ci-dessus devrait produire le résultat :

Print percent % in sentence and not have it break.

Cependant, le résultat réel sera un erreur :

TypeError: %d format: a number is required, not str

Cette erreur se produit car Python interprète le premier signe de pourcentage comme le début d'un espace réservé de formatage, mais la valeur qu'il trouve est une chaîne, pas un nombre.

Solution :

Pour échapper au signe de pourcentage et l'afficher sous forme de caractère littéral, un signe de pourcentage supplémentaire doit être ajouté avant celui que vous souhaitez échapper. Voici le code corrigé :

selectiveEscape = "Print percent %% in sentence and not %s" % test
print(selectiveEscape)

La sortie du code corrigé sera désormais :

Print percent % in sentence and not have it break.

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