Maison > Article > développement back-end > Comment différer l'évaluation d'une chaîne F en Python pour les modèles statiques ?
En Python, les chaînes F offrent une syntaxe pratique pour l'interpolation de chaînes. Cependant, lorsque vous travaillez avec des modèles statiques lus à partir de sources externes ou définis ailleurs dans le code, il peut être souhaitable de retarder l'évaluation de ces chaînes.
Pour éviter d'avoir à pour l'appel .format(**locals()) lors de l'utilisation de modèles statiques, une fonction Python peut être utilisée. La fonction fstr, définie comme suit, nous permet d'évaluer une chaîne comme une f-string :
<code class="python">def fstr(template): return eval(f'f"""{template}"""')</code>
Avec fstr, nous pouvons utiliser un modèle statique défini dans une variable ou lire à partir d'un fichier et y interpoler des valeurs. Prenons l'exemple suivant :
<code class="python">template_a = "The current name is {name}" names = ["foo", "bar"] for name in names: print(fstr(template_a)) # Evaluates the template with the current 'name'</code>
Sortie :
The current name is foo The current name is bar
Notez que puisque le modèle est évalué au moment de l'exécution, des expressions complexes peuvent également être utilisées entre les accolades, telles que le nom. upper() * 2 dans l'exemple suivant :
<code class="python">template_b = "The current name is {name.upper() * 2}" for name in names: print(fstr(template_b))</code>
Sortie :
The current name is FOOFOO The current name is BARBAR
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!