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.
Ü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)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
Erfahren Sie, wie Sie mithilfe des datetime-Moduls das aktuelle Datum und die aktuelle Uhrzeit in Python abrufen. Formatieren Sie Datumsangaben mit strftime in Zeichenfolgen und verarbeiten Sie Zeitzonen.
So konvertieren Sie String in Int in PythonErfahren Sie, wie Sie in Python mithilfe der Funktion int() einen String in eine Ganzzahl konvertieren. Behandeln Sie Fehler sicher und konvertieren Sie Zahlen aus Binär-, Oktal- oder Hexadezimalwerten.
Empfohlene Python-Ressourcen
Erweitern Sie Ihr Wissen mit zugehörigen interaktiven Tutorials, Spickzetteln und Codevergleichen.
Python-Strings
Master-String-Manipulation in Python. Lernen Sie String-Methoden, Slicing-, Verkettungs- und Formatierungstechniken anhand klarer, ausführbarer Codebeispiele.
Python DateTime-Formatierungs-Spickzettel
Erfahren Sie, wie Sie Datums- und Uhrzeitangaben in Python mithilfe von datetime, strftime und strptime analysieren und formatieren.
Python vs. JavaScript: Welche Programmiersprache ist die beste?
Ein umfassender Vergleich zwischen Python und JavaScript. Entdecken Sie Syntaxunterschiede, Leistung, Anwendungsfälle (Backend vs. Frontend) und Codierungsbeispiele.