Wie verschiebe ich die F-String-Auswertung in Python für statische Vorlagen?

Mary-Kate Olsen
Freigeben: 2024-10-30 09:08:03
Original
458 Leute haben es durchsucht

How to Defer F-String Evaluation in Python for Static Templates?

F-Strings bei Bedarf interpretieren

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.

F-String-Auswertung aufschieben

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&quot;&quot;&quot;{template}&quot;&quot;&quot;')</code>
Nach dem Login kopieren

Beispielverwendung

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>
Nach dem Login kopieren

Ausgabe:

The current name is foo
The current name is bar
Nach dem Login kopieren

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>
Nach dem Login kopieren

Ausgabe:

The current name is FOOFOO
The current name is BARBAR
Nach dem Login kopieren

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!

Quelle:php.cn
Erklärung dieser Website
Der Inhalt dieses Artikels wird freiwillig von Internetnutzern beigesteuert und das Urheberrecht liegt beim ursprünglichen Autor. Diese Website übernimmt keine entsprechende rechtliche Verantwortung. Wenn Sie Inhalte finden, bei denen der Verdacht eines Plagiats oder einer Rechtsverletzung besteht, wenden Sie sich bitte an admin@php.cn
Neueste Artikel des Autors
Beliebte Tutorials
Mehr>
Neueste Downloads
Mehr>
Web-Effekte
Quellcode der Website
Website-Materialien
Frontend-Vorlage
Über uns Haftungsausschluss Sitemap
Chinesische PHP-Website:Online-PHP-Schulung für das Gemeinwohl,Helfen Sie PHP-Lernenden, sich schnell weiterzuentwickeln!