Maison >développement back-end >Tutoriel Python >Formatage des chaînes Python : % contre .format contre f-strings - Quelle méthode devriez-vous choisir ?

Formatage des chaînes Python : % contre .format contre f-strings - Quelle méthode devriez-vous choisir ?

DDD
DDDoriginal
2024-12-18 14:45:24859parcourir

Python String Formatting:  % vs. .format vs. f-strings - Which Method Should You Choose?

Formatage de chaîne : % par rapport à .format par rapport aux littéraux de chaîne f

Question :

Il existe plusieurs méthodes pour formater les chaînes en Python : le formatage %, la méthode .format et les f-strings. Lequel est préférable et dans quelles circonstances ?

Réponse :

Comparaison des méthodes de formatage

Le code suivant démontre l'équivalent résultats de différentes méthodes de formatage :

name = "Alice"

"Hello %s" % name
"Hello {0}".format(name)
f"Hello {name}"

# Using named arguments:
"Hello %(kwarg)s" % {'kwarg': name}
"Hello {kwarg}".format(kwarg=name)
f"Hello {name}"

Bien que toutes les méthodes produisent le même résultat, .format offre des avantages par rapport au formatage %. Par exemple, le formatage % nécessite des tuples pour plusieurs arguments, ce qui est fastidieux. .format prend également en charge les arguments nommés, ce qui améliore la lisibilité.

Performances d'exécution

Le formatage des chaînes a lieu lors de l'évaluation de l'expression. Par exemple, dans l'expression log.debug("some debug info: %s" % some_info), la chaîne est évaluée et transmise à log.debug().

Pour éviter les pénalités de performances d'exécution, il est recommandé de évitez le formatage des chaînes dans les sections critiques. Pensez à utiliser logger.("%s", str(some_info)) à la place, ce qui retarde l'évaluation de la chaîne jusqu'à ce que la décision du niveau de journalisation soit prise.

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