Python-F-Strings: Erweiterte String-Interpolation

Erfahren Sie, wie Sie Strings in Python mithilfe von F-Strings formatieren. Master-Ausdrucksauswertung, Float-Präzisionsformatierung, Datum/Uhrzeit-Druck und selbstdokumentierende Syntax.

Versuchen Sie es im Editor

Übersicht

Das Formatieren von Zeichenfolgen ist eine Aufgabe, die Entwickler täglich ausführen. Historisch gesehen basierte die Python-Formatierung auf der „%“-Formatierung im C-Stil oder der „.format()“-Methode. Obwohl diese älteren Syntaxstile funktionsfähig waren, führten sie oft zu ausführlichem, schwer lesbarem Code.Python 3.6 führte formatierte String-Literale ein, allgemein bekannt als F-Strings. F-Strings bieten eine prägnante, lesbare und hochoptimierte Syntax zum direkten Einfügen von Variablen und Ausdrücken in String-Literale.

Um einen F-String zu erstellen, stellen Sie dem String-Literal ein „f“ oder „F“ voran (z. B. „f“Hallo {Name}“). Jede Variable oder jeder Python-Ausdruck, der in geschweifte Klammern „{...}“ eingefügt wird, wird zur Laufzeit ausgewertet und automatisch in eine Zeichenfolge konvertiert. F-Strings sind nicht nur für Variablen gedacht; Sie können Funktionen aufrufen, mathematische Berechnungen durchführen und sogar auf Wörterbuchwerte innerhalb der geschweiften Klammern zugreifen, sodass keine temporären Variablen erforderlich sind.

F-Strings verfügen außerdem über eine umfangreiche Formatierungssprache. Durch Anhängen eines Doppelpunkts „:“ innerhalb der geschweiften Klammern können Sie Formatierungsregeln festlegen. Beispielsweise rundet „{value:.2f}“ eine Gleitkommazahl auf zwei Dezimalstellen, „{num:03d}“ füllt eine Ganzzahl mit führenden Nullen auf und „{date:%Y-%m-%d}“ formatiert ein Datetime-Objekt. InPython 3.8+ führten F-Strings die Debugging-Syntax „{variable=}“ ein, die sowohl den Variablennamen als auch ihren Wert automatisch ausgibt, was das Debuggen schnell und schmerzlos macht.

Code- und Ausführungsausgabe

Demonstration der Float-Formatierung, Ausdrucksauswertung und selbstdokumentierendes Gleichheitszeichen-Debugging.

name = "Charlie"
price = 19.995
quantity = 3

# Basic interpolation and math evaluation
receipt = f"Customer: {name} | Total: ${price * quantity:.2f}"
print(receipt)

# Padding and alignment
number = 42
padded = f"ID: {number:05d}"
print(padded)

# Self-documenting debugging syntax (Python 3.8+)
value = 100
print(f"Debug output: {value=}")
Terminal-Ausgabe
Customer: Charlie | Total: $59.99
ID: 00042
Debug output: value=100

Schrittweise Umsetzung

  • Numerische Ausgaben in Berichten und Dashboards verschönern
  • Erstellen dynamischer SQL-Abfragen oder API-Anforderungsnutzlasten
  • Drucken von schnellen Debug-Anweisungen während lokaler Tests

Häufig gestellte Fragen

Sind F-Strings schneller als andere String-Formatierungsmethoden?

Ja, F-Strings sind schneller als %-Formatierung und .format(), da sie zur Laufzeit als optimierter Bytecode ausgewertet und nicht bei der Ausführung analysiert werden.

Wie drucke ich buchstäbliche geschweifte Klammern in einem F-String?

Sie können wörtliche geschweifte Klammern umgehen, indem Sie sie verdoppeln, z. B. gibt f"{{Hello}}" den wörtlichen Text „{Hello}“ aus.

Verwandte Themen

Empfohlene Python-Ressourcen

Erweitern Sie Ihr Wissen mit zugehörigen interaktiven Tutorials, Spickzetteln und Codevergleichen.