Formatage de chaînes de caractères Python

Pour s'assurer que la chaîne s'affiche comme prévu, nous pouvons utiliser format() La méthode format() formate le résultat.

format() de la chaîne

format() Les méthodes permettent de formater une partie sélectionnée de la chaîne.

Parfois, une partie du texte est hors de votre contrôle, peut-être qu'elle provient de la base de données ou de l'entrée utilisateur ?

Pour contrôler de tels valeurs, ajoutez un placeholder (crochets) dans le texte : {}),puis exécutez les valeurs via la méthode format() :

Exemple

Ajoutez un placeholder pour le prix à afficher :

price = 52
txt = "Le prix est {} dollars"
print(txt.format(price))

Exécuter l'exemple

Vous pouvez ajouter des paramètres dans les crochets pour spécifier comment convertir les valeurs :

Exemple

Formater le prix pour obtenir un nombre avec deux décimales :

txt = "Le prix est {:.2f} dollars"

Exécuter l'exemple

Consultez le manuel de formatage de la méthode str.format() pour tous les types de formats.

Valeurs multiples

Pour utiliser plus de valeurs, ajoutez simplement plus de valeurs à la méthode format() :

print(txt.format(price, itemno, count))

Ajoutez plus de placeholders :

Exemple

quantity = 3
itemno = 567
price = 52
myorder = "Je veux {} pièces de l'article n°{} pour {:.2f} dollars."
print(myorder.format(quantity, itemno, price))

Exécuter l'exemple

Numéro d'index

Vous pouvez utiliser un numéro d'index (crochets {0} Pour s'assurer que la valeur est placée dans le bon placeholder :

Exemple

quantity = 3
itemno = 567
price = 52
myorder = "Je veux {0} pièces de l'article n° {1} pour {2:.2f} dollars."
print(myorder.format(quantity, itemno, price))

Exécuter l'exemple

De plus, si vous devez utiliser la même valeur plusieurs fois, utilisez un numéro d'index :

Exemple

age = 63
name = "Bill"
txt = "Son nom est {1}. {1} a {0} ans."
print(txt.format(age, name))

Exécuter l'exemple

Index nommé

Vous pouvez également utiliser un nombre dans les crochets pour s'assurer que la valeur est placée dans le bon placeholder : {carname} Entrez un nom pour utiliser l'index nommé, mais utilisez le nom : txt.format(carname = "Ford")

Exemple

myorder = "J'ai un {carname}, c'est un {model}."
print(myorder.format(carname = "Porsche", model = "911"))

Exécuter l'exemple