Mit Python f-Strings können Sie komplexe Ausdrücke und Variablen direkt in einen String einfügen, ohne zu­sätz­li­che Kon­ver­tie­run­gen oder For­ma­tie­run­gen durch­füh­ren zu müssen.

Was genau sind Python f-Strings?

Python f-Strings sind ein Python-String-Format, das mit Python 3.6 ein­ge­führt wurde. Sie werden auch als for­ma­tier­te String-Literale be­zeich­net. Innerhalb von f-Strings können Sie Be­rech­nun­gen auswerten, indem Sie diese in ge­schweif­te Klammern einbetten. f-Strings er­mög­li­chen eine kom­pak­te­re Schreib­wei­se im Vergleich zu anderen String-For­ma­tie­rungs­me­tho­den wie str.format() oder der Kon­ka­te­na­ti­on mit +. Dies führt zu klarerem und prä­gnan­te­rem Code.

f-Strings sind äußerst flexibel und erlauben es, Variablen und Ausdrücke in ver­schie­de­nen Da­ten­ty­pen wie Integer, Floats, Listen oder sogar Ausdrücke und Funk­tio­nen ohne vorherige Kon­ver­tie­rung oder spezielle For­ma­tie­run­gen ein­zu­fü­gen. In der Regel sind Python f-Strings schneller als andere String-For­ma­tie­rungs­me­tho­den in Python.

Die all­ge­mei­ne Syntax von f-Strings

Die grund­le­gen­de Struktur eines f-Strings besteht aus dem Präfix f oder F, gefolgt von einem String, der durch An­füh­rungs­zei­chen (“ oder ’) ge­kenn­zeich­net ist. Innerhalb dieses Strings können ge­schweif­te Klammern {} verwendet werden, um Variablen oder Ausdrücke ein­zu­bet­ten.

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 Zei­chen­ket­te zu erzeugen.

Web­hos­ting
Das beste Web­hos­ting zum Spit­zen­preis
  • 3x schneller und 60 % günstiger
  • Maximale Ver­füg­bar­keit mit > 99.99 %
  • Nur bei IONOS: Bis zu 500 GB Spei­cher­platz inklusive

Ein­satz­mög­lich­kei­ten von Python f-Strings

f-Strings können Sie viel­sei­tig einsetzen und spe­zi­fi­zie­ren.

Be­rech­nun­gen innerhalb eines Strings ausführen

Python f-Strings sind besonders praktisch, wenn Sie arith­me­ti­sche Ope­ra­tio­nen innerhalb eines Strings auswerten möchten. So können Sie einen komplexen Ausdruck in einer Zeile de­fi­nie­ren.

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 durch­ge­führt, und das Ergebnis wird direkt in den finalen String eingefügt.

Python f-Strings und Raw Strings

Die Kom­bi­na­ti­on von r (für Raw Strings) und f (für for­ma­tier­te Strings oder f-Strings) erzeugt eine spezielle Art von String in Python, die als rf-String bekannt ist. Der rf-String verbindet die Funk­tio­na­li­tät von Raw Strings, die Escape-Sequenzen wörtlich in­ter­pre­tie­ren, mit der Fle­xi­bi­li­tät und Leis­tungs­fä­hig­keit von f-Strings, die die direkte Ein­bet­tung von Variablen und Aus­drü­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 de­fi­nie­ren. Die Ver­wen­dung von {name} innerhalb des rf-Strings führt zur direkten Einfügung der Variablen name, während das r vor dem String si­cher­stellt, dass der Backslash \ als wört­li­ches Zeichen behandelt wird und nicht als Teil einer Escape-Sequenz.

Präzision von Gleit­kom­ma­zah­len

Mit spe­zi­el­len For­ma­tie­rungs­an­wei­sun­gen können Sie die Anzahl der De­zi­mal­stel­len einer Gleit­kom­ma­zahl im for­ma­tier­ten String festlegen.

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

Hier gibt die For­ma­tie­rungs­an­wei­sung :.3f an, dass die Variable value auf drei De­zi­mal­stel­len gerundet und in den for­ma­tier­ten String eingefügt werden soll.

Breite und Aus­rich­tung

Bei Python f-Strings er­mög­licht die Breite und Aus­rich­tung die Kontrolle über die Dar­stel­lung der ein­ge­setz­ten Werte innerhalb eines fest­ge­leg­ten Feldes. Dies ist hilfreich, um Text oder Zahlen in einem be­stimm­ten Bereich zu plat­zie­ren und sie entweder links, rechts oder zentriert aus­zu­rich­ten.

An­ge­nom­men, wir haben den Namen __Alice__ und möchten ihn in einem zehn Zeichen breiten Feld rechts­bün­dig plat­zie­ren:

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 Spe­zi­fi­zie­rung {name:>10} rechts­bün­dig aus­ge­rich­tet.

Füllen mit Nullen oder anderen Zeichen

Das Füllen mit Nullen oder anderen Zeichen be­ein­flusst die Aus­rich­tung von Zahlen in einem Feld. Dies nützt Ihnen, wenn Zahlen in einem festen Format dar­ge­stellt werden sollen, zum Beispiel bei der Anzeige von Zeit­an­ga­ben oder nu­me­ri­schen Werten.

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

Hierbei be­zeich­net :06, dass die Zahl number in ein sechs­stel­li­ges Feld ein­ge­tra­gen wird, wobei wir die fehlenden Stellen mit führenden Nullen auffüllen.

Es können auch andere Zeichen als Nullen zum Auffüllen spe­zi­fi­ziert werden:

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