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"""{template}"""')</code>
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>
Nous pouvons l'évaluer en utilisant :
<code class="python">print(fstr(template)) # Output: The current name is foo</code>
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>
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!