Maîtriser les f-strings en Python
Découvrez comment exploiter les f-strings de Python (littéraux de chaîne formatés) pour écrire du code plus propre, plus efficace et plus lisible.
Les chaînes F, ou littéraux de chaîne formatés, ont été introduites dans Python 3.6 comme moyen pratique et concis de formater des chaînes. Ils fournissent un moyen d'incorporer des expressions dans des chaînes littérales, en utilisant des accolades {}. Les chaînes F sont non seulement plus lisibles et concises, mais aussi plus rapides que les anciennes méthodes de formatage de chaînes.
Bien que de nombreux développeurs comprennent les bases, ce guide explore les techniques avancées de chaînes f qui peuvent améliorer la qualité et l'efficacité du code. Nous aborderons l'intégration d'expressions, le formatage des nombres, l'alignement du texte, l'utilisation de dictionnaires et les chaînes f multilignes.
1. Utilisation de base
Pour créer une chaîne f, il vous suffit de préfixer la chaîne avec la lettre f ou F. À l'intérieur de la chaîne, vous pouvez inclure des variables et des expressions entre accolades {}.
Nous avons ajouté deux objets de valeur ; l'un est une chaîne et l'autre est un int.
name = "Abid"
age = 33
print(f"Hello, my name is {name} and I am {age} years old.")
Sortir :
Hello, my name is Abid and I am 33 years old.
2. Incorporation d'expressions
Les chaînes F peuvent évaluer les expressions directement entre les accolades. Vous pouvez même exécuter n’importe quel calcul entre accolades, et cela fonctionnera.
a = 6
b = 14
print(f"The sum of {a} and {b} is {a + b}.")
Sortir :
The sum of 6 and 14 is 20.
Vous pouvez également appeler des fonctions Python entre accolades.
def get_greeting(name):
return f"Hello, {name}!"
print(f"{get_greeting('Abid')}")
Sortir :
Hello, Abid!
3. Formatage des nombres
Les chaînes F prennent en charge les options de formatage des nombres, ce qui peut être très utile pour contrôler l'affichage des valeurs numériques. Au lieu d'écrire plusieurs lignes de code pour formater les nombres manuellement, vous pouvez utiliser des chaînes f pour simplifier le processus.
Par exemple, nous afficherons la variable float appelée « cost_ratio » avec trois décimales.
cost_ratio = 6.5789457766
print(f"Cost ratio rounded to 3 decimal places: {cost_ratio:.3f}")
Sortir :
Cost ratio rounded to 3 decimal places: 6.579
Ajoutez mille séparateurs à une longue série de nombres.
house_cost = 8930000
print(f"Formatted number: {house_cost:,}")
Sortir :
Formatted number: 8,930,000
Pour formater un nombre sous forme de pourcentage, utilisez le symbole %.
percentage = 0.25
print(f"Percentage: {percentage:.2%}")
Sortir :
Percentage: 25.00%
4. Alignement du texte
Les chaînes F vous permettent d'aligner le texte à gauche, à droite ou au centre en utilisant respectivement <, > et ^. Vous pouvez également spécifier une largeur pour l'alignement, comme indiqué ci-dessous.
id = "Id"
name = "Name"
add = "Address"
formatted_name = f"|{id:<10}|{name:>10}|{add:^10}|"
print(formatted_name)
Sortir :
|Id | Name| Address |
5. Cordes F avec dictionnaires
Les chaînes F peuvent fonctionner de manière transparente avec les dictionnaires. Nous accéderons aux clés du dictionnaire entre accolades.
person = {"name": "Abid", "age": 33}
print(f"Name: {person['name']}, Age: {person['age']}")
Sortir :
Name: Abid, Age: 33
6. Cordes F multilignes
Les chaînes F peuvent également être utilisées avec des guillemets triples pour créer des chaînes multilignes. Ceci est utile pour formater de longs blocs de texte.
name = "Abid"
age = 33
multiline_string = f"""
Name: {name}
Age: {age}
"""
print(multiline_string)
Sortir :
Name: Abid
Age: 33
Pensées finales
Pour vraiment apprécier la puissance et la simplicité des f-strings, vous devez en faire l’expérience par vous-même. Au fur et à mesure que vous commencerez à intégrer des variables, à formater des nombres et à aligner du texte, vous verrez comment les f-strings transforment votre code en quelque chose à la fois élégant et efficace. Cette syntaxe concise rationalise non seulement vos tâches de programmation, mais élève également votre style de codage à un niveau professionnel.