Maison  >  Article  >  développement back-end  >  Comment évaluer les chaînes F à la demande en Python ?

Comment évaluer les chaînes F à la demande en Python ?

Patricia Arquette
Patricia Arquetteoriginal
2024-10-31 08:55:02299parcourir

How Can You Evaluate F-Strings on Demand in Python?

Évaluation des chaînes F à la demande

Les chaînes F offrent un moyen pratique de formater des chaînes en Python. Cependant, lorsque vous travaillez avec des modèles ou des fichiers dynamiques, il est nécessaire de reporter ou de différer l'évaluation des f-strings. Cela pose un défi car les chaînes statiques avec des balises de formatage ne peuvent pas être directement interprétées par l'interprète.

Utilisation d'une fonction personnalisée

Une solution robuste à ce problème implique l'utilisation d'une fonction personnalisée qui évalue une chaîne comme une f-string. La fonction suivante sert à cet effet :

<code class="python">def fstr(template):
    return eval(f'f&quot;&quot;&quot;{template}&quot;&quot;&quot;')</code>

Application

Avec la fonction fstr, vous pouvez reporter l'évaluation de la chaîne f comme suit :

<code class="python">template_a = "The current name is {name}"
names = ["foo", "bar"]
for name in names:
    print(fstr(template_a))
# Output: The current name is foo
#        The current name is bar</code>

Remarquez que le La fonction fstr évalue correctement les expressions dans la chaîne, telles que name.upper() * 2 :

<code class="python">template_b = "The current name is {name.upper() * 2}"
for name in names:
    print(fstr(template_b))
# Output: The current name is FOOFOO
#        The current name is BARBAR</code>

Cette approche fournit un moyen concis et pratique de gérer l'évaluation de la chaîne f lorsque cela est nécessaire, permettant un formatage dynamique de la chaîne dans votre base de code.

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