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
- PEP 498 – Literal String Interpolation voor de officiële documentatie over f-strings.
- Python f-strings door Real Python voor een tutorial over het gebruik van f-strings.
- De .format() Methode in de Python documentatie om de oudere
.format()
methode van stringformatting te begrijpen.