Formatage des conteneurs à l'aide de format() en Python
Lors de l'utilisation de Python, le style de conteneur peut être un moyen utile d'améliorer la lisibilité et la maintenabilité du code. Vous pouvez styliser des listes, des tuples, des dictionnaires, des ensembles et même des classes rapidement et simplement en utilisant cette méthode. Vous pouvez ajuster la façon dont vos données sont présentées en alignant les colonnes, en ajoutant un remplissage et en définissant la précision à l'aide de la méthode intégrée format(). Dans cet article, nous allons approfondir le formatage des conteneurs à l'aide de format() en Python, y compris différents types de conteneurs et comment les utiliser avec la fonction format().
Formatage du conteneur avec format()
Supposons que nous ayons une liste de nombres que nous souhaitons organiser en séparant chaque nombre par une virgule et un espace.
Exemple
my_list = [1, 2, 3, 4, 5]
formatted_list = ', '.join(['{}'.format(x) for x in my_list])
print(formatted_list)
Sortir
1, 2, 3, 4, 5
La collection de nombres formatés avec une virgule et un espace comme séparateur est jointe à l'aide de la méthode join() dans ce cas. Chaque valeur entière de l'énumération remplacera l'espace réservé " à l'intérieur de la méthode format().
Bien qu'immuables, les tuples sont comparables aux listes dans le sens où leur contenu ne peut pas être modifié une fois formés. Dans ce cas, nous avons joint les composants du tuple formaté avec une virgule et un espace en utilisant à nouveau la méthode join()
Exemple
my_tuple = ('apple', 'banana', 'orange')
formatted_tuple = ', '.join(['{}'.format(x) for x in my_tuple])
print(formatted_tuple)
Sortir
apple, banana, orange
En combinant les valeurs du dictionnaire et la méthode format(), les dictionnaires peuvent être formatés.
Exemple
my_dict = {'name': 'ABCJohn', 'age': 33, 'city': 'Los Angeles'}
formatted_dict = 'Name: {name}, Age: {age}, City: {city}'.format(**my_dict)
print(formatted_dict)
Sortir
Name: ABCJohn, Age: 33, City: Los Angeles
Dans ce cas, nous avons utilisé des espaces réservés pour la méthode format() qui correspondaient aux valeurs de notre dictionnaire. Le dictionnaire est décompressé à l'aide de la syntaxe **my dict, et son contenu est ensuite transmis sous forme de paramètres de mot-clé à la méthode format(). De même, les ensembles peuvent être écrits à l’intérieur d’une compréhension d’ensemble en utilisant les fonctions join() et format().
Exemple
my_set = {1, 2, 3, 4, 5}
formatted_set = ', '.join(['{}'.format(x) for x in my_set])
print(formatted_set)
Sortir
1, 2, 3, 4, 5
La même chose peut être faite pour les Classes
Exemple
class Person:
def __init__(self, name, age):
self.name = name
self.age = age
my_person = Person('John', 30)
formatted_person = 'Name: {p.name}, Age: {p.age}'.format(p=my_person)
print(formatted_person)
Sortir
Name: John, Age: 30
Passer une instance de notre classe comme argument mot-clé à la fonction format() est une solution viable
Options de personnalisation
En plus du formatage des conteneurs, la fonction format() fournit également des options pour personnaliser la façon dont les données sont affichées. Certaines options courantes incluent le remplissage, l'alignement et la précision.
Pour aligner à droite un texte dans une largeur spécifiée, par exemple, nous pouvons utiliser l'option '>'. Pensez à une collection de personnages que nous avons -
my_list = ['apple', 'banana', 'orange']
Nous pouvons formater cette liste pour que chaque chaîne soit alignée à droite dans un champ de largeur 10 en utilisant le code suivant -
Exemple
my_list = ['apple', 'banana', 'orange']
for fruit in my_list:
print('{:>10}'.format(fruit))
Sortir
apple
banana
orange
L'option < et l'option ^peuvent être utilisées respectivement pour centrer et aligner à gauche les lignes dans la boîte. La sélection de précision, qui nous permet de choisir combien de nombres sont présentés après la virgule décimale, est un autre choix utile. Considérons une collection de valeurs à virgule flottante à titre d'illustration -
my_floats = [1.23456, 2.34567, 3.45678]
Nous pouvons formater ces nombres pour afficher seulement deux chiffres après la virgule en utilisant le code suivant -
Exemple
my_floats = [1.23456, 2.34567, 3.45678]
for num in my_floats:
print('{:.2f}'.format(num))
Sortir
1.23
2.35
3.46
De plus, nous pouvons utiliser des f-strings et d'autres méthodes d'édition de texte en conjonction avec format(). Cela nous permet de concevoir des lignes de sortie plus complexes et plus flexibles. Examinons un bloc de code complet qui illustre le formatage des conteneurs en Python maintenant que nous savons comment styliser les conteneurs avec format().
Exemple
my_dict = {'apple': 1.23, 'banana': 2.34, 'orange': 3.45}
for key, value in my_dict.items():
print('{:<10}{:.2f}'.format(key, value))
Sortir
apple 1.23
banana 2.34
orange 3.45
En utilisant ce bloc de code, un dictionnaire est créé qui relie les titres de trois fruits à leurs valeurs correspondantes. La boucle for parcourt les entrées du dictionnaire de manière itérative, en formatant chaque combinaison clé-valeur de sorte que la valeur soit affichée avec deux chiffres après la virgule décimale et que la clé soit alignée à gauche dans un champ d'une largeur de 10. Modification du conteneur avec format ( ) a de nombreuses applications dans des contextes réels. Par exemple, nous pourrions l'utiliser pour styliser des tableaux ou des diagrammes lors de l'analyse des données. Il peut être utilisé dans la programmation Web pour présenter du matériel de manière conviviale. Nous pourrions l'utiliser en automatisation pour produire des enregistrements ou des fichiers.
Conclusion
En résumé, le formatage des conteneurs avec la fonction format() de Python est un instrument puissant qui nous permet de présenter les données de manière flexible et compréhensible. Nous pouvons produire du contenu spécifique à nos besoins en utilisant la fonction format() avec une gamme de types de conteneurs et de choix de formatage. J'espère que cet article vous a aidé à comprendre le formatage des conteneurs en Python et je vous invite à en apprendre davantage par vous-même.