Bei der Verwendung von F-Strings zum Erstellen dynamischer Texte kann es unpraktisch sein, die Methode .format(**locals()) zu verwenden beim Abrufen von Vorlagen aus externen Quellen. Daher besteht Bedarf an einem Mechanismus, um einen String als F-String zu interpretieren.
Um dieses Problem zu lösen, kann eine prägnante Funktion namens fstr verwendet werden:
<code class="python">def fstr(template): return eval(f'f"""{template}"""')</code>
Diese Funktion ermöglicht die direkte Interpretation von Vorlagenzeichenfolgen in F-Zeichenfolgen, was Code wie diesen ermöglicht:
<code class="python">template_a = "The current name is {name}" names = ["foo", "bar"] for name in names: print(fstr(template_a))</code>
Dieser Code würde die gewünschte Ausgabe erzeugen:
The current name is foo The current name is bar
Entscheidend ist, dass die fstr-Funktion die vollen Fähigkeiten beibehält von F-Strings, was die Auswertung von Ausdrücken und Methodenaufrufen innerhalb der Vorlage ermöglicht:
<code class="python">template_b = "The current name is {name.upper() * 2}" for name in names: print(fstr(template_b))</code>
Ausgabe:
The current name is FOOFOO The current name is BARBAR
Diese Technik bietet eine umfassende Lösung für die dynamische Interpretation und Auswertung von f- Zeichenfolgen, die die Handhabung von Vorlagen in komplexen Codebasen vereinfachen.
Das obige ist der detaillierte Inhalt vonWie kann man F-Saiten dynamisch auswerten?. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!