Formatage de chaîne Python
Pour vous assurer qu'une chaîne s'affichera comme prévu, nous pouvons formater le résultat avec la format()
méthode .
Format de chaîne()
La format()
méthode vous permet de formater des parties sélectionnées d'une chaîne.
Parfois, il y a des parties d'un texte que vous ne contrôlez pas, peut-être proviennent-elles d'une base de données ou d'une entrée utilisateur ?
Pour contrôler ces valeurs, ajoutez des espaces réservés (accolades {}
) dans le texte et exécutez les valeurs via la
format()
méthode :
Exemple
Ajoutez un espace réservé à l'endroit où vous souhaitez afficher le prix :
price = 49
txt = "The price is {} dollars"
print(txt.format(price))
Vous pouvez ajouter des paramètres à l'intérieur des accolades pour spécifier comment convertir la valeur :
Exemple
Formatez le prix à afficher sous la forme d'un nombre avec deux décimales :
txt = "The price is {:.2f} dollars"
Découvrez tous les types de formatage dans notre String format() Reference .
Valeurs multiples
Si vous souhaitez utiliser plus de valeurs, ajoutez simplement plus de valeurs à la méthode format() :
print(txt.format(price, itemno, count))
Et ajoutez d'autres espaces réservés :
Exemple
quantity = 3
itemno = 567
price = 49
myorder = "I want {} pieces of
item number {} for {:.2f} dollars."
print(myorder.format(quantity, itemno, price))
Numéros d'index
Vous pouvez utiliser des numéros d'index (un nombre à l'intérieur des accolades {0}
) pour vous assurer que les valeurs sont placées dans les espaces réservés corrects :
Exemple
quantity = 3
itemno = 567
price = 49
myorder = "I want {0} pieces of
item number {1} for {2:.2f} dollars."
print(myorder.format(quantity, itemno, price))
De plus, si vous souhaitez faire référence à la même valeur plusieurs fois, utilisez le numéro d'index :
Exemple
age = 36
name = "John"
txt = "His name is {1}. {1} is {0} years old."
print(txt.format(age,
name))
Index nommés
Vous pouvez également utiliser des index nommés en saisissant un nom entre accolades {carname}
, mais vous devez alors utiliser des noms lorsque vous transmettez les valeurs des paramètres
txt.format(carname = "Ford")
:
Exemple
myorder = "I have a {carname}, it is a {model}."
print(myorder.format(carname
= "Ford", model = "Mustang"))