Comment formater des chaînes en Python (f-strings et format)
Apprenez les meilleures techniques de formatage de chaînes en Python. Comparez les f-strings modernes, le format() et le formatage en pourcentage avec des exemples de code.
Aperçu
Le formatage des chaînes est une nécessité quotidienne pour restituer les variables dans les messages, générer des journaux, imprimer les débogages de la console et créer des pages Web. Python a considérablement évolué le formatage des chaînes au fil des ans, offrant de multiples options pour construire des représentations de texte dynamiques de manière sûre et lisible.
Dans Python moderne (3.6+), l'approche standard et la plus populaire est le formatage avec des f-strings (Formatted String Literals). En préfixant une chaîne avec `f` ou `F`, vous pouvez intégrer des expressions ou des variables Python directement dans des accolades `{}`. Ces expressions sont évaluées au moment de l'exécution, ce qui rend les f-strings à la fois plus rapides et nettement plus lisibles que les anciennes méthodes de formatage.
Les anciennes bases de code Python peuvent utiliser la méthode `.format()` ou le formatage en pourcentage `%`. Bien qu'ils soient toujours pris en charge, ils sont généralement déconseillés pour le nouveau code. Les f-strings prennent également en charge de puissants spécificateurs de format en ligne, vous permettant de contrôler la précision décimale (par exemple, `{value:.2f}`), d'aligner le texte ou de formater les dates directement dans des variables de chaîne.
Sortie de code et d'exécution
Ce script montre l'impression de blocs de texte dynamiques à l'aide de f-strings, le formatage de flottants à virgule flottante et l'utilisation de .format().
name = "Alice"
age = 30
pi = 3.14159
# 1. Using modern f-strings (Recommended)
greeting_f = f"Hello, my name is {name} and I am {age} years old."
print("f-string:", greeting_f)
# 2. formatting floats (2 decimal places precision)
precision_f = f"Pi rounded: {pi:.2f}"
print(precision_f)
# 3. Using the older .format() method
greeting_format = "Hello, my name is {} and I am {}.".format(name, age)
print(".format():", greeting_format)f-string: Hello, my name is Alice and I am 30 years old.
Pi rounded: 3.14
.format(): Hello, my name is Alice and I am 30.Mise en œuvre étape par étape
- Préfixez votre chaîne littérale avec le caractère f (par exemple, f'Bonjour...').
- Insérez des variables ou des expressions directement entre accolades {} dans la chaîne.
- Utilisez des spécifications de format telles que :.2f pour gérer le formatage décimal à l'intérieur des accolades.
Foire aux questions
Les f-strings sont-elles plus rapides que le formatage .format() et % ?
Oui, les chaînes f sont évaluées au moment de l'exécution en tant qu'opérations de bytecode optimisées, ce qui les rend plus rapides que les opérateurs .format() et %.
Puis-je exécuter des fonctions ou évaluer des expressions dans des f-strings ?
Oui, toute expression Python valide (y compris les opérations mathématiques, les appels de fonction et les recherches dans le dictionnaire) peut être évaluée à l'intérieur des accolades.
Sujets connexes
Découvrez comment obtenir la date et l'heure actuelles en Python à l'aide du module datetime. Formatez les dates en chaînes avec strftime et gérez les fuseaux horaires.
Comment convertir une chaîne en Int en PythonApprenez à convertir une chaîne en entier en Python à l'aide de la fonction int(). Gérez les erreurs en toute sécurité et convertissez les nombres binaires, octaux ou hexadécimaux.
Ressources Python recommandées
Développez vos connaissances avec des didacticiels interactifs, des aide-mémoire et des comparaisons de codes associés.
Chaînes Python
Maîtrisez la manipulation des chaînes en Python. Apprenez les méthodes de chaîne, les techniques de découpage, de concaténation et de formatage avec des exemples de code clairs et exécutables.
Aide-mémoire sur le formatage Python DateTime
Apprenez à analyser et formater les dates et les heures en Python à l'aide de datetime, strftime et strptime.
Python vs JavaScript : quel langage de programmation est le meilleur ?
Une comparaison complète entre Python et JavaScript. Explorez les différences de syntaxe, les performances, les cas d'utilisation (backend et frontend) et des exemples de codage.