Come gestire i segnaposto del metodo format di python
Il metodo format() mi permette di creare una maschera di visualizzazione.
Esempio
stringa="Io mi chiamo {0} e vivo a {1}".format("Andrea", "Roma")
Il risultato è la stringa
'Io mi chiamo Andrea e vivo a Roma'
Fin qui il metodo è utile ma nulla di più.
In realtà, le potenzialità del metodo format sono molteplici perché è possibile applicare una formattazione diversa per ciascun segnaposto.
Come gestire i segnaposto
Per formattare un segnaposto, devo aggiungere il simbolo dei due punti dopo il nome del parametro.
A destra dei due punti posso inserire i comandi di formattazione.
:> allineamento a destra
:< allineamento a sinistra
:* carattere spazio
:5.3f vista del numero reale
:c carattere
:n numero in formato locale
:b valore binario
:d valore decimale
:o valore ottale
:x valore esadecimale
:X valore esadecimale maiuscolo
Esempi pratici
Esempio 1
stringa="il numero {0:d} in binario è {0:b}".format(5)
Il valore della stringa è
'il numero 5 in binario è 101'
Esempio 2
Posso creare una maschera di visualizzazione per i numeri reali.
stringa="Il totale della spesa è {0:*10.3f}".format(1234.56789)
Il risultato è
'Il totale della spesa è 1234.568'
Esempio 3
Posso anche allineare il dato a destra o a sinistra, aggiungendo un carattere negli spazi vuoti.
stringa="Il totale della spesa è {0:*>10.3f}".format(1234.56789)
Il risultato è
'Il totale della spesa è **1234.568'