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.