Python F-Strings : interpolation avancée de chaînes

Apprenez à formater des chaînes en Python à l'aide de chaînes F. Évaluation de l'expression principale, formatage de précision flottant, impression date/heure et syntaxe auto-documentée.

Essayez dans l'éditeur

Aperçu

Le formatage des chaînes est une tâche que les développeurs effectuent quotidiennement. Historiquement, le formatage Python reposait sur le formatage `%` de style C ou sur la méthode `.format()`. Bien que fonctionnels, ces anciens styles de syntaxe conduisaient souvent à un code verbeux et difficile à lire.Python 3.6 a introduit les littéraux de chaîne formatés, communément appelés chaînes F. Les chaînes F fournissent une syntaxe concise, lisible et hautement optimisée pour insérer des variables et des expressions directement dans des chaînes littérales.

Pour créer une chaîne F, vous préfixez la chaîne littérale avec un « f » ou un « F » (par exemple, « f"Hello {name}"`). Toute variable ou expression Python placée entre accolades `{...}` est évaluée au moment de l'exécution et convertie automatiquement en chaîne. Les chaînes F ne sont pas uniquement destinées aux variables ; vous pouvez appeler des fonctions, effectuer des calculs mathématiques et même accéder aux valeurs du dictionnaire à l'intérieur des accolades, éliminant ainsi le besoin de variables temporaires.

Les chaînes F disposent également d'un langage de formatage riche. En ajoutant deux points `:` à l'intérieur des accolades, vous pouvez spécifier des règles de formatage. Par exemple, `{value:.2f}` arrondit un flottant à deux décimales, `{num:03d}` complète un entier avec des zéros non significatifs et `{date:%Y-%m-%d}` formate un objet datetime. DansPython 3.8+, les chaînes F ont introduit la syntaxe de débogage `{variable=}`, qui imprime automatiquement le nom de la variable et sa valeur, rendant le débogage rapide et indolore.

Sortie de code et d'exécution

Démonstration du formatage flottant, de l'évaluation d'expression et du débogage de signe égal auto-documenté.

fstrings_demo.py
Essayez dans l'éditeur
name = "Charlie"
price = 19.995
quantity = 3

# Basic interpolation and math evaluation
receipt = f"Customer: {name} | Total: ${price * quantity:.2f}"
print(receipt)

# Padding and alignment
number = 42
padded = f"ID: {number:05d}"
print(padded)

# Self-documenting debugging syntax (Python 3.8+)
value = 100
print(f"Debug output: {value=}")
Sortie terminale
Customer: Charlie | Total: $59.99
ID: 00042
Debug output: value=100

Mise en œuvre étape par étape

  • Jolies sorties numériques dans les rapports et les tableaux de bord
  • Construction de requêtes SQL dynamiques ou de charges utiles de requêtes API
  • Impression d'instructions de débogage rapide pendant les tests locaux

Foire aux questions

Les chaînes F sont-elles plus rapides que les autres méthodes de formatage de chaînes ?

Oui, les chaînes F sont plus rapides que le formatage % et .format() car elles sont évaluées au moment de l'exécution en tant que bytecode optimisé plutôt que analysées lors de l'exécution.

Comment imprimer des accolades littérales dans une chaîne F ?

Vous pouvez échapper aux accolades littérales en les doublant, par exemple, f"{{Bonjour}}" imprimera le texte littéral '{Bonjour}'.

Sujets connexes

Ressources Python recommandées

Développez vos connaissances avec des didacticiels interactifs, des aide-mémoire et des comparaisons de codes associés.