Een string interpoleren

Python:
Een string interpoleren

Hoe:

In Python 3.6 en hoger, kun je strings interpoleren met f-strings. Zo werkt het:

name = 'Alice'
age = 30
greeting = f"Hallo, {name}. Je bent {age} jaar oud."

print(greeting)

Output:

Hallo, Alice. Je bent 30 jaar oud.

Je kunt ook expressies gebruiken binnen de accolades:

a = 5
b = 10
info = f"Vijf plus tien is {a + b}, niet {2 * (a + b)}."

print(info)

Output:

Vijf plus tien is 15, niet 30.

Diepere duik

Voor Python 3.6 was de .format() methode de manier om strings te interpoleren:

name = 'Bob'
age = 25
greeting = "Hallo, {}. Je bent {} jaar oud.".format(name, age)

print(greeting)

Old school Python (versies < 2.6) gebruikte de % operator voor interpolatie, wat minder intuïtief is en rommelig kan worden met meerdere variabelen:

name = 'Carol'
age = 35
greeting = "Hallo, %s. Je bent %d jaar oud." % (name, age)

print(greeting)

Naast een schonere syntax zijn f-strings sneller omdat ze tijdens runtime worden geëvalueerd en dan direct worden omgezet in een efficiënte string format operatie. De .format() methode en % operator omvatten meer stappen en zijn trager.

Zie ook