Formattazione di stringhe Python
Per assicurarci che una stringa venga visualizzata come previsto, possiamo formattare il risultato con il format()
metodo.
Formato stringa()
Il format()
metodo consente di formattare parti selezionate di una stringa.
A volte ci sono parti di un testo che non controlli, forse provengono da un database o dall'input dell'utente?
Per controllare tali valori, aggiungi segnaposto (parentesi graffe {}
) nel testo ed esegui i valori attraverso il
format()
metodo:
Esempio
Aggiungi un segnaposto in cui desideri visualizzare il prezzo:
price = 49
txt = "The price is {} dollars"
print(txt.format(price))
È possibile aggiungere parametri tra parentesi graffe per specificare come convertire il valore:
Esempio
Formatta il prezzo da visualizzare come un numero con due decimali:
txt = "The price is {:.2f} dollars"
Dai un'occhiata a tutti i tipi di formattazione nel nostro String format() Riferimento .
Valori multipli
Se vuoi usare più valori, aggiungi semplicemente più valori al metodo format():
print(txt.format(price, itemno, count))
E aggiungi altri segnaposto:
Esempio
quantity = 3
itemno = 567
price = 49
myorder = "I want {} pieces of
item number {} for {:.2f} dollars."
print(myorder.format(quantity, itemno, price))
Numeri indice
Puoi utilizzare i numeri di indice (un numero tra parentesi graffe {0}
) per assicurarti che i valori siano inseriti nei segnaposto corretti:
Esempio
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))
Inoltre, se vuoi fare riferimento allo stesso valore più di una volta, usa il numero di indice:
Esempio
age = 36
name = "John"
txt = "His name is {1}. {1} is {0} years old."
print(txt.format(age,
name))
Indici denominati
Puoi anche usare indici denominati inserendo un nome tra parentesi graffe {carname}
, ma poi devi usare i nomi quando passi i valori dei parametri
txt.format(carname = "Ford")
:
Esempio
myorder = "I have a {carname}, it is a {model}."
print(myorder.format(carname
= "Ford", model = "Mustang"))