So formatieren Sie Strings in Python (F-Strings und Format)

Lernen Sie die besten String-Formatierungstechniken in Python kennen. Vergleichen Sie moderne F-Strings, format() und prozentuale Formatierung mit Codebeispielen.

Probieren Sie diese Lösung im Editor aus

Übersicht

Das Formatieren von Zeichenfolgen ist eine tägliche Notwendigkeit zum Rendern von Variablen in Nachrichten, zum Ausgeben von Protokollen, zum Drucken von Konsolen-Debugging und zum Erstellen von Webseiten. Python hat die Zeichenfolgenformatierung im Laufe der Jahre erheblich weiterentwickelt und bietet zahlreiche Optionen zum sicheren und leserlichen Erstellen dynamischer Textdarstellungen.

Im modernen Python (3.6+) ist die Formatierung mit F-Strings (formatierte String-Literale) der standardmäßige und beliebteste Ansatz. Indem Sie einer Zeichenfolge „f“ oder „F“ voranstellen, können Sie Python-Ausdrücke oder Variablen direkt in geschweifte Klammern „{}“ einbetten. Diese Ausdrücke werden zur Laufzeit ausgewertet, wodurch F-Strings sowohl schneller als auch deutlich besser lesbar sind als ältere Formatierungsmethoden.

Ältere Python-Codebasen verwenden möglicherweise die Methode „.format()“ oder die Prozentformatierung „%“. Sie werden zwar immer noch unterstützt, bei neuem Code wird jedoch generell davon abgeraten. F-Strings unterstützen auch leistungsstarke Inline-Formatspezifizierer, mit denen Sie die Dezimalgenauigkeit (z. B. „{value:.2f}“) steuern, Text ausrichten oder Datumsangaben direkt in String-Variablen formatieren können.

Code- und Ausführungsausgabe

Dieses Skript demonstriert das Drucken dynamischer Textblöcke mit F-Strings, das Formatieren von Gleitkommazahlen und die Verwendung von .format().

name = "Alice"
age = 30
pi = 3.14159

# 1. Using modern f-strings (Recommended)
greeting_f = f"Hello, my name is {name} and I am {age} years old."
print("f-string:", greeting_f)

# 2. formatting floats (2 decimal places precision)
precision_f = f"Pi rounded: {pi:.2f}"
print(precision_f)

# 3. Using the older .format() method
greeting_format = "Hello, my name is {} and I am {}.".format(name, age)
print(".format():", greeting_format)
Terminal-Ausgabe
f-string: Hello, my name is Alice and I am 30 years old.
Pi rounded: 3.14
.format(): Hello, my name is Alice and I am 30.

Schrittweise Umsetzung

  • Stellen Sie Ihrem String-Literal das Zeichen f voran (z. B. f'Hallo...').
  • Fügen Sie Variablen oder Ausdrücke direkt in geschweifte Klammern {} innerhalb der Zeichenfolge ein.
  • Verwenden Sie Formatspezifikationen wie :.2f, um die Dezimalformatierung innerhalb der geschweiften Klammern zu verarbeiten.

Häufig gestellte Fragen

Sind F-Strings schneller als .format() und %-Formatierung?

Ja, F-Strings werden zur Laufzeit als optimierte Bytecode-Operationen ausgewertet, wodurch sie schneller sind als die Operatoren .format() und %.

Kann ich Funktionen ausführen oder Ausdrücke innerhalb von F-Strings auswerten?

Ja, jeder gültige Python-Ausdruck (einschließlich mathematischer Operationen, Funktionsaufrufe und Wörterbuchsuchen) kann innerhalb der geschweiften Klammern ausgewertet werden.

Verwandte Themen

Empfohlene Python-Ressourcen

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