Python f-Strings

Mit Python f-Strings können Sie komplexe Ausdrücke und Variablen direkt in einen String einfügen, ohne zusätzliche Konvertierungen oder Formatierungen durchführen zu müssen.

Was genau sind Python f-Strings?

Python f-Strings sind ein Python-String-Format, das mit Python 3.6 eingeführt wurde. Sie werden auch als formatierte String-Literale bezeichnet. Innerhalb von f-Strings können Sie Berechnungen auswerten, indem Sie diese in geschweifte Klammern einbetten. f-Strings ermöglichen eine kompaktere Schreibweise im Vergleich zu anderen String-Formatierungsmethoden wie str.format() oder der Konkatenation mit +. Dies führt zu klarerem und prägnanterem Code.

f-Strings sind äußerst flexibel und erlauben es, Variablen und Ausdrücke in verschiedenen Datentypen wie Integer, Floats, Listen oder sogar Ausdrücke und Funktionen ohne vorherige Konvertierung oder spezielle Formatierungen einzufügen. In der Regel sind Python f-Strings schneller als andere String-Formatierungsmethoden in Python.

Die allgemeine Syntax von f-Strings

Die grundlegende Struktur eines f-Strings besteht aus dem Präfix f oder F, gefolgt von einem String, der durch Anführungszeichen (“ oder ’) gekennzeichnet ist. Innerhalb dieses Strings können geschweifte Klammern {} verwendet werden, um Variablen oder Ausdrücke einzubetten.

name = "Peter"
age = 25
formatted_string = f"My name is {name} and I am {age} years old."
print(formatted_string) # Output: My name is Peter and I am 25 years old.
python

In unserem Beispiel ersetzen wir die Variable name mit {name} und die Variable age mit {age} in dem f-String, um die finale Zeichenkette zu erzeugen.

Günstige Webhosting-Pakete von IONOS!

Vertrauen Sie auf flexibel skalierbares und zuverlässiges Webhosting inklusive persönlichem Berater mit IONOS!

Kostenlose Domain
SSL Zertifikat
DDoS-Schutz

Einsatzmöglichkeiten von Python f-Strings

f-Strings können Sie vielseitig einsetzen und spezifizieren.

Berechnungen innerhalb eines Strings ausführen

Python f-Strings sind besonders praktisch, wenn Sie arithmetische Operationen innerhalb eines Strings auswerten möchten. So können Sie einen komplexen Ausdruck in einer Zeile definieren.

num1 = 10
num2 = 5
result = f"The sum of {num1} and {num2} is {num1 + num2}"
print(result) # Output: The sum of 10 and 5 is 15
python

Hier wird die Addition von num1 und num2 innerhalb des f-Strings durchgeführt, und das Ergebnis wird direkt in den finalen String eingefügt.

Python f-Strings und Raw Strings

Die Kombination von r (für Raw Strings) und f (für formatierte Strings oder f-Strings) erzeugt eine spezielle Art von String in Python, die als rf-String bekannt ist. Der rf-String verbindet die Funktionalität von Raw Strings, die Escape-Sequenzen wörtlich interpretieren, mit der Flexibilität und Leistungsfähigkeit von f-Strings, die die direkte Einbettung von Variablen und Ausdrücken in einen String erlauben.

name = "User"
path = rf'C:\Users\Username\Documents\{name}\file.txt'
print(path) # Output: C:\Users\Username\Documents\User\file.txt
python

Im Code benutzen wir den rf-String, um einen Pfad zu definieren. Die Verwendung von {name} innerhalb des rf-Strings führt zur direkten Einfügung der Variablen name, während das r vor dem String sicherstellt, dass der Backslash \ als wörtliches Zeichen behandelt wird und nicht als Teil einer Escape-Sequenz.

Präzision von Gleitkommazahlen

Mit speziellen Formatierungsanweisungen können Sie die Anzahl der Dezimalstellen einer Gleitkommazahl im formatierten String festlegen.

value = 3.14159265359
formatted_value = f"Rounded value = {value:.3f}"
print(formatted_value) # Output: Rounded value = 3.142
python

Hier gibt die Formatierungsanweisung :.3f an, dass die Variable value auf drei Dezimalstellen gerundet und in den formatierten String eingefügt werden soll.

Breite und Ausrichtung

Bei Python f-Strings ermöglicht die Breite und Ausrichtung die Kontrolle über die Darstellung der eingesetzten Werte innerhalb eines festgelegten Feldes. Dies ist hilfreich, um Text oder Zahlen in einem bestimmten Bereich zu platzieren und sie entweder links, rechts oder zentriert auszurichten.

Angenommen, wir haben den Namen __Alice__ und möchten ihn in einem zehn Zeichen breiten Feld rechtsbündig platzieren:

name = "Alice"
formatted_name = f"Hello, {name:>10}"
print(formatted_name) # Output: Hello,      Alice
python

Da der Wert weniger als zehn Zeichen lang ist, wird er durch die Spezifizierung {name:>10} rechtsbündig ausgerichtet.

Füllen mit Nullen oder anderen Zeichen

Das Füllen mit Nullen oder anderen Zeichen beeinflusst die Ausrichtung von Zahlen in einem Feld. Dies nützt Ihnen, wenn Zahlen in einem festen Format dargestellt werden sollen, zum Beispiel bei der Anzeige von Zeitangaben oder numerischen Werten.

number = 42
formatted_number = f"Number: {number:06}"
print(formatted_number) # Output: Number: 000042
python

Hierbei bezeichnet :06, dass die Zahl number in ein sechsstelliges Feld eingetragen wird, wobei wir die fehlenden Stellen mit führenden Nullen auffüllen.

Es können auch andere Zeichen als Nullen zum Auffüllen spezifiziert werden:

word = "Python"
formatted_word = f"Word: {word:_<10}"
print(formatted_word) # Output: Word: Python____
python