Aller au contenu
Bases

f-strings

Une f-string insère variables et expressions dans un texte, avec un format précis : décimales, pourcentages, séparateur de milliers. C'est la façon standard d'afficher un résultat lisible.

  • formatage
  • interpolation
  • texte
  • décimales
  • pourcentage
  • débogage

Syntaxe

Modèle
f"{valeur}"          # insertionf"{x:.2f}"           # 2 décimalesf"{n:,}"             # séparateur de milliersf"{taux:.1%}"        # pourcentagef"{x=}"              # nom et valeur, pour déboguerf"{nom:>10}"         # aligné à droite sur 10 caractères

Exemple

Exemple concret
eleve = "Léa"moyenne = 15.4567print(f"{eleve} : {moyenne:.1f}/20")    # → Léa : 15.5/20ca = 1234567print(f"CA annuel : {ca:,} €")          # → CA annuel : 1,234,567 €print(f"CA annuel : {ca:_} €")          # → CA annuel : 1_234_567 €taux = 0.0734print(f"Conversion : {taux:.1%}")       # → Conversion : 7.3%print(f"{moyenne=:.2f}")                # → moyenne=15.46print(f"[{eleve:>6}]")                  # → [   Léa]

À retenir

  1. Après les deux-points, le format suit l'ordre [alignement][largeur][,][.précision][type] : {x:>8.2f} aligne à droite sur 8 caractères avec deux décimales.
  2. {x=} affiche le nom de l'expression puis sa valeur (x=42) : idéal pour déboguer sans recopier le nom.
  3. {n:,} sépare les milliers par une virgule, à l'anglaise. Pour un rapport en français, f"{n:,}".replace(",", " ") donne 1 234 567.
  4. Depuis Python 3.12, les mêmes guillemets sont permis à l'intérieur des accolades : f"{ligne["ville"]}" est valide, ce qui n'était pas le cas avant.
  5. Piège : oublier le f devant les guillemets ne lève aucune erreur, Python affiche alors littéralement {eleve}.

Voir aussi