In Python bieten F-Strings eine praktische Syntax für die String-Interpolation. Wenn Sie jedoch mit statischen Vorlagen arbeiten, die aus externen Quellen gelesen oder an anderer Stelle im Code definiert werden, kann es wünschenswert sein, die Auswertung dieser Zeichenfolgen zu verzögern.
Um die Notwendigkeit zu vermeiden Für den .format(**locals())-Aufruf bei Verwendung statischer Vorlagen kann eine Python-Funktion verwendet werden. Die wie folgt definierte fstr-Funktion ermöglicht es uns, einen String als f-String auszuwerten:
<code class="python">def fstr(template): return eval(f'f"""{template}"""')</code>
Mit fstr können wir eine in einer Variablen definierte statische Vorlage verwenden oder aus einer Datei lesen und Werte darin interpolieren. Betrachten Sie das folgende Beispiel:
<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>
Ausgabe:
The current name is foo The current name is bar
Beachten Sie, dass aufgrund der Auswertung der Vorlage zur Laufzeit auch komplexe Ausdrücke innerhalb der geschweiften Klammern verwendet werden können, z. B. der Name. Upper() * 2 im folgenden Beispiel:
<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
Das obige ist der detaillierte Inhalt vonWie verschiebe ich die F-String-Auswertung in Python für statische Vorlagen?. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!