Python:
Interpolation d'une chaîne de caractères
Comment faire :
Dans Python 3.6 et versions ultérieures, vous pouvez interpoler des chaînes en utilisant les f-strings. Voici comment :
name = 'Alice'
age = 30
greeting = f"Bonjour, {name}. Vous avez {age} ans."
print(greeting)
Sortie :
Bonjour, Alice. Vous avez 30 ans.
Vous pouvez également utiliser des expressions à l’intérieur des accolades :
a = 5
b = 10
info = f"Cinq plus dix égale {a + b}, pas {2 * (a + b)}."
print(info)
Sortie :
Cinq plus dix égale 15, pas 30.
Approfondissement
Avant Python 3.6, .format()
était la méthode privilégiée pour l’interpolation de chaînes :
name = 'Bob'
age = 25
greeting = "Bonjour, {}. Vous avez {} ans.".format(name, age)
print(greeting)
Le vieux Python (versions < 2.6) utilisait l’opérateur %
pour l’interpolation, qui est moins intuitif et peut devenir compliqué avec plusieurs variables :
name = 'Carol'
age = 35
greeting = "Bonjour, %s. Vous avez %d ans." % (name, age)
print(greeting)
En plus d’une syntaxe plus propre, les f-strings sont plus rapides car ils sont évalués à l’exécution puis convertis directement en une opération de formatage de chaîne efficace. Les méthodes .format()
et l’opérateur %
impliquent plus d’étapes et sont plus lentes.
Voir également
- PEP 498 – Interpolation de Chaîne de Caractères Littéraux pour la documentation officielle sur les f-strings.
- Les f-strings Python par Real Python pour un tutoriel sur l’utilisation des f-strings.
- La méthode .format() dans la documentation Python pour comprendre la méthode de formatage de chaînes
.format()
plus ancienne.