Comment différer l'évaluation des chaînes F en Python ?

Linda Hamilton
Libérer: 2024-11-01 15:43:02
original
548 Les gens l'ont consulté

How to Defer Evaluation of F-Strings in Python?

Évaluation différée des chaînes F

En Python, les chaînes F offrent un moyen succinct de générer des chaînes formatées. Cependant, il est parfois utile de définir des modèles ailleurs et de les importer sous forme de chaînes statiques. Pour évaluer efficacement ces chaînes statiques en tant que f-strings dynamiques, nous avons besoin d'un moyen de reporter leur évaluation.

Bien que la méthode .format(**locals()) puisse être utilisée, elle implique une expansion explicite des variables. Pour éviter cette surcharge, envisagez la stratégie suivante :

<code class="python">def fstr(template):
    return eval(f'f&quot;&quot;&quot;{template}&quot;&quot;&quot;')</code>
Copier après la connexion

Cette fonction prend une chaîne de modèle statique et construit une chaîne f de manière dynamique au moment de l'exécution. Par exemple, étant donné le modèle :

<code class="python">template = "The current name is {name}"</code>
Copier après la connexion

Nous pouvons l'évaluer en utilisant :

<code class="python">print(fstr(template))  # Output: The current name is foo</code>
Copier après la connexion

Notez que cette méthode prend également en charge les expressions entre accolades, comme en témoigne :

<code class="python">template = "The current name is {name.upper() * 2}"
print(fstr(template))  # Output: The current name is FOOFOO</code>
Copier après la connexion

En reportant l'évaluation des f-strings à l'aide de la fonction fstr(), les développeurs peuvent maintenir la clarté du code et simplifier la gestion des modèles en Python.

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!

source:php.cn
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
À propos de nous Clause de non-responsabilité Sitemap
Site Web PHP chinois:Formation PHP en ligne sur le bien-être public,Aidez les apprenants PHP à grandir rapidement!