Interpolation eines Strings

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