Formatage des chaînes de caractères en Python
Python est un langage de programmation populaire connu pour sa simplicité, sa lisibilité et sa polyvalence. L'une des fonctionnalités essentielles de Python est le formatage des chaînes de caractères, qui permet aux développeurs de créer des chaînes dynamiques en substituant des variables et des expressions dans des espaces réservés au sein de la chaîne. Dans ce guide, nous couvrirons les sujets suivants :
- Qu'est-ce que le formatage des chaînes de caractères ?
- L'ancienne méthode de formatage des chaînes
- La nouvelle méthode de formatage des chaînes
- Formater les nombres
- Formater les chaînes
- Formater les dates et les heures
- Formatage avancé des chaînes
Qu'est-ce que le formatage des chaînes de caractères ?
Le formatage des chaînes est le processus de création de chaînes formatées en substituant des valeurs dans des espaces réservés au sein d'une chaîne. En Python, il existe plusieurs façons de formater les chaînes, notamment l'opérateur %, la méthode format() et les f-strings. Les f-strings sont l'approche recommandée dans les versions modernes de Python.
L'ancienne méthode de formatage des chaînes
L'ancienne méthode de formatage des chaînes utilise l'opérateur % pour substituer des valeurs dans des espaces réservés au sein d'une chaîne. Voici un exemple :
String formatting with % operator in Python
name = "John"
age = 25
print("My name is %s and I am %d years old." % (name, age))Dans cet exemple, %s et %d sont des espaces réservés pour les variables name et age, respectivement. Les valeurs de ces variables sont substituées dans les espaces réservés à l'aide de l'opérateur %.
La nouvelle méthode de formatage des chaînes
La méthode format() est une méthode plus récente de formatage des chaînes qui substitue des valeurs dans des espaces réservés au sein d'une chaîne. Voici un exemple :
String formatting by format method in Python
name = "John"
age = 25
print("My name is {} and I am {} years old.".format(name, age))Dans cet exemple, {} sont des espaces réservés pour les variables name et age, respectivement. Les valeurs de ces variables sont substituées dans les espaces réservés à l'aide de la méthode format().
Formater les nombres
Python propose plusieurs façons de formater les nombres. Voici quelques exemples :
Formatting numbers in a string in Python
x = 123.456789
print("The number is {:.2f}".format(x))
print("The number is {:,}".format(x))
print("The number is {:+}".format(x))Dans le premier exemple, {:.2f} formate le nombre avec deux décimales. Dans le deuxième exemple, {: ,} formate le nombre avec un séparateur de milliers (virgule). Dans le troisième exemple, {:+} formate le nombre avec un signe plus pour les nombres positifs et un signe moins pour les nombres négatifs.
Formater les chaînes
Python propose plusieurs façons de formater les chaînes. Voici quelques exemples :
Formatting strings in various ways in Python
name = "John"
print("Hello, %s!" % name)
print("Hello, {}!".format(name))
print(f"Hello, {name}!")Dans le premier exemple, %s est un espace réservé pour la variable name. Dans le deuxième exemple, {} est un espace réservé pour la variable name. Dans le troisième exemple, {name} est un espace réservé pour la variable name à l'intérieur d'une f-string.
Formater les dates et les heures
Python propose plusieurs façons de formater les dates et les heures. Voici quelques exemples :
Formatting date and time in Python
import datetime
date = datetime.datetime.now()
print("The date and time is {}".format(date))
print("The date and time is {: %B %d, %Y}".format(date))Dans le premier exemple, {} est un espace réservé pour la variable date, qui est un objet datetime. Dans le deuxième exemple, {: %B %d, %Y} formate l'objet date en une chaîne de caractères au format "Mois Jour, Année".
Formatage avancé des chaînes
Python offre plusieurs techniques supplémentaires pour rendre le formatage des chaînes encore plus flexible et puissant.
L'une de ces techniques consiste à utiliser des espaces réservés nommés. Au lieu d'utiliser des espaces réservés positionnels, vous pouvez utiliser des espaces réservés nommés pour rendre votre code plus lisible et compréhensible. Voici un exemple :
Print a dictionary's values in the desired format in Python using named placeholders
person = {"name": "John", "age": 25}
print("My name is {name} and I am {age} years old.".format(**person))Dans cet exemple, {name} et {age} sont des espaces réservés nommés qui correspondent aux clés "name" et "age" du dictionnaire person. L'opérateur ** est utilisé pour déballer (unpack) le dictionnaire et passer ses valeurs en tant qu'arguments nommés à la méthode format().
Une autre technique utile consiste à utiliser des spécificateurs de format pour contrôler la largeur, la précision et l'alignement des espaces réservés. Voici quelques exemples :
format specifiers to control the width, precision, and alignment of placeholders in Python
x = 123.456789
print("{:<10.2f}".format(x))
print("{:,.2f}".format(x))Dans le premier exemple, {:<10.2f} formate le nombre avec deux décimales et l'aligne à gauche dans un champ de largeur 10. Dans le deuxième exemple, {:,.2f} formate le nombre avec un séparateur de milliers (virgule) et deux décimales.
En plus de ces techniques, Python propose également plusieurs chaînes de format intégrées qui peuvent être utilisées pour formater des chaînes, des nombres et des dates/heures. Voici quelques exemples :
Python built-in various formatting ways
x = 123
date = datetime.datetime.now()
print("The number is {:x}".format(x))
print("The number is {:o}".format(x))
print("The number is {:b}".format(x))
print("The number is {:e}".format(x))
print("The date and time is {}".format(date))Dans ces exemples, {:x} formate le nombre sous forme de chaîne hexadécimale, {:o} sous forme de chaîne octale, {:b} sous forme de chaîne binaire, et {:e} en notation scientifique. Pour les dates et les heures, format() utilise la représentation sous forme de chaîne de l'objet, sauf si vous formatez la valeur séparément.
Conclusion
Dans ce guide, nous avons couvert les bases du formatage des chaînes de caractères en Python, y compris l'ancienne et la nouvelle méthode de formatage, le formatage des nombres, le formatage des chaînes, le formatage des dates et des heures, ainsi que les techniques de formatage avancées. En mettant en œuvre ces techniques, vous pouvez créer des chaînes dynamiques, flexibles et puissantes dans votre code Python qui vous aideront à résoudre des problèmes complexes et à atteindre vos objectifs.
Pratique
Parmi les suivantes, lesquelles sont des méthodes valides pour formater des chaînes de caractères en Python, telles que décrites dans le contenu de l'URL spécifiée ?