Python offre plusieurs façons de construire des chaînes avec des valeurs dynamiques. L'approche moderne et recommandée est l'f-string (formatted string literal), introduite en Python 3.6.
f-strings — le standard moderne
name =
age =
msg =
Python offre plusieurs façons de construire des chaînes avec des valeurs dynamiques. L'approche moderne et recommandée est l'f-string (formatted string literal), introduite en Python 3.6.
name =
age =
msg =
Le préfixe f vous permet d'intégrer des expressions directement dans {} — concis, lisible et rapide. C'est la méthode préférée en Python moderne.
f"{3.14159:.2f}" # "3.14" — 2 decimal places
f"{1000000:,}" # "1,000,000" — thousands separator
f"{0.85:.1%}" # "85.0%" — percentage
f"{42:05d}" # "00042" — pad with zeros to width 5
f"{'hi':>10}" # " hi" — right-align in width 10
f"{'hi':^10}" # " hi " — center
Le :spec après la valeur contrôle la précision, le remplissage, l'alignement et le formatage des nombres — puissant pour une sortie propre.
f"{name=}" # "name='Ann'" — prints both the expression AND value
Le = est pratique pour le débogage rapide — il affiche le nom de la variable et sa valeur.
"{} is {}".format(name, age) # str.format() — pre-f-string standard
"%s is %d" % (name, age) # %-formatting — old C-style (avoid in new code)
name + " is " + str(age) # concatenation — verbose, error-prone
.format() est encore courant dans le code plus ancien; le formatage % est hérité; la concaténation brute est déconseillée (verbeux et nécessite une conversion str() manuelle).
Le formatage des chaînes est constamment nécessaire — créer des messages, des logs, des sorties, des requêtes.
Les f-strings sont la norme moderne, lisible et efficace, et connaître leurs spécificateurs de format (précision, remplissage, alignement, séparateurs) vous permet de produire une sortie propre et professionnelle sans code verbeux.
Reconnaître les styles plus anciens .format() et % aide à la lecture des bases de code existantes.
Utiliser bien les f-strings est une petite partie mais omniprésente de l'écriture d'un Python clair et idiomatique.