Ein f-String beginnt mit f. Alles in geschweiften Klammern wird als Python-Ausdruck ausgewertet.
python
name = 'Anna'
preis = 1234.5
print(f'Hallo {name}, du schuldest {preis} Euro')
print(f'{preis:.2f}') # 1234.50
print(f'{preis:,.2f}') # 1,234.50
print(f'{3 * 4}') # 12: beliebige Ausdrücke
print(f'{name=}') # name='Anna': praktisch zum Debuggen
Nach dem Doppelpunkt steht die Formatangabe. Aufbau: {wert:[Füllzeichen][Ausrichtung][Vorzeichen][Breite][,][.Genauigkeit][Typ]}
| Angabe | Bedeutung | Beispiel | Ergebnis |
|---|---|---|---|
.2f |
Kommazahl mit 2 Nachkommastellen | f'{3.14159:.2f}' |
3.14 |
d |
Ganzzahl | f'{42:d}' |
42 |
05d |
Auf Breite 5 mit Nullen füllen | f'{42:05d}' |
00042 |
, |
Tausendertrennzeichen | f'{1234567:,}' |
1,234,567 |
>10 |
Rechtsbündig, Breite 10 | f'{"ab":>10}' |
ab |
<10 |
Linksbündig, Breite 10 | f'{"ab":<10}' |
ab |
^10 |
Zentriert, Breite 10 | f'{"ab":^10}' |
ab |
*^10 |
Zentriert mit Füllzeichen * |
f'{"ab":*^10}' |
****ab**** |
.1% |
Prozent | f'{0.256:.1%}' |
25.6% |
%Y-%m-%d |
Datumsformat (nur bei Datum) | f'{heute:%d.%m.%Y}' |
20.10.2026 |
Deutsches Zahlenformat (Punkt als Tausender, Komma als Dezimal) bekommst du so:
python
def euro(betrag):
text = f'{betrag:,.2f}' # 1,234.50
return text.replace(',', 'X').replace('.', ',').replace('X', '.') + ' €'
print(euro(1234.5)) # 1.234,50 €