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.