Heim  >  Artikel  >  Backend-Entwicklung  >  Wie kann man F-Saiten dynamisch auswerten?

Wie kann man F-Saiten dynamisch auswerten?

Linda Hamilton
Linda HamiltonOriginal
2024-11-01 02:57:28993Durchsuche

How to Dynamically Evaluate F-strings?

F-Strings dynamisch auswerten

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&quot;&quot;&quot;{template}&quot;&quot;&quot;')</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!

Stellungnahme:
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