Python:
Interpolation eines Strings
Wie geht das:
In Python 3.6 und höher können Sie Strings mit f-Strings interpolieren. So geht’s:
name = 'Alice'
alter = 30
gruß = f"Hallo, {name}. Du bist {alter} Jahre alt."
print(gruß)
Ausgabe:
Hallo, Alice. Du bist 30 Jahre alt.
Sie können auch Ausdrücke innerhalb der geschweiften Klammern verwenden:
a = 5
b = 10
info = f"Fünf plus zehn ist {a + b}, nicht {2 * (a + b)}."
print(info)
Ausgabe:
Fünf plus zehn ist 15, nicht 30.
Tiefer Eintauchen
Vor Python 3.6 war .format()
der Weg, um Strings zu interpolieren:
name = 'Bob'
alter = 25
gruß = "Hallo, {}. Du bist {} Jahre alt.".format(name, alter)
print(gruß)
Alte Schule Python (Versionen < 2.6) verwendete den %
-Operator für die Interpolation, was weniger intuitiv ist und mit mehreren Variablen unübersichtlich werden kann:
name = 'Carol'
alter = 35
gruß = "Hallo, %s. Du bist %d Jahre alt." % (name, alter)
print(gruß)
Neben einer saubereren Syntax sind f-Strings schneller, weil sie zur Laufzeit ausgewertet und dann direkt in eine effiziente String-Format-Operation umgewandelt werden. Die .format()
-Methode und der %
-Operator beinhalten mehr Schritte und sind langsamer.
Siehe auch
- PEP 498 – Literal String Interpolation für die offizielle Dokumentation zu f-Strings.
- Python f-Strings von Real Python für ein Tutorial zur Verwendung von f-Strings.
- Die .format()-Methode in der Python-Dokumentation, um die ältere
.format()
-Methode der String-Formatierung zu verstehen.