Formattazione di stringhe Python

Per garantire che la stringa si visualizzi come previsto, possiamo usare format() Il metodo formatta i risultati.

format() della stringa

format() I metodi ti permettono di formattare una parte selezionata della stringa.

A volte una parte del testo non può essere controllata, forse proviene da un database o dall'input dell'utente?

Per controllare tali valori, aggiungi segnaposto nel testo (parentesi graffe {}),poi esegui i valori tramite il metodo format():

Esempio

Aggiungi un segnaposto da visualizzare il prezzo:

price = 52
txt = "Il prezzo è {} dollari"
print(txt.format(price))

Eseguire Esempio

Puoi aggiungere parametri tra parentesi graffe per specificare come trasformare i valori:

Esempio

Formatta il prezzo come numero con due cifre decimali:

txt = "Il prezzo è {:.2f} dollari"

Eseguire Esempio

Vedi la guida di formato di stringa format() per tutti i tipi di formato.

Valori multipli

Se desideri utilizzare più valori, aggiungi ulteriori valori al metodo format():

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

Aggiungi più segnaposto:

Esempio

quantity = 3
itemno = 567
price = 52
myorder = "Voglio {} pezzi dell'articolo numero {} per {:.2f} dollari."
print(myorder.format(quantity, itemno, price))

Eseguire Esempio

Numero di Indice

Puoi utilizzare il numero di indice (parentesi graffe {0} all'interno dei numeri) per assicurarsi che i valori siano messi nei segnaposto corretti:

Esempio

quantity = 3
itemno = 567
price = 52
myorder = "Voglio {0} pezzi dell'articolo numero {1} per {2:.2f} dollari."
print(myorder.format(quantity, itemno, price))

Eseguire Esempio

Inoltre, se si desidera riferirsi a stessi valori più volte, utilizzare il numero di indice:

Esempio

age = 63
name = "Bill"
txt = "Il suo nome è {1}. {1} ha {0} anni."
print(txt.format(age, name))

Eseguire Esempio

Indice nome

Puoi anche utilizzare il numero numerico {carname} Inserire un nome per utilizzare l'indice nome, ma quando si passano valori parametrici txt.format(carname = "Ford") è necessario utilizzare il nome:

Esempio

myorder = "Ho un {carname}, è un {model}."
print(myorder.format(carname = "Porsche", model = "911"))

Eseguire Esempio