Il metodo format_map () è simile a str.format (** mapping) tranne per il fatto che str.format (** mapping) crea un nuovo dizionario mentre str.format_map (mapping) no.
Prima di parlare format_map()
. Vediamo come str.format(**mapping)
funziona per i dizionari Python.
point = ('x':4,'y':-5) print('(x) (y)'.format(**point))
Produzione
4-5
Ulteriori informazioni su come formattare le stringhe in Python?
L' format_map(mapping)
è simile al str.format(**mapping)
metodo.
L'unica differenza è che str.format(**mapping)
copia il dict mentre str.format_map(mapping)
crea un nuovo dizionario durante la chiamata al metodo. Questo può essere utile se stai lavorando con una dict
sottoclasse.
La sintassi di format_map()
è
str.format_map (mappatura)
format_map Parametro
format_map()
accetta un singolo argomento mapping(dictionary)
.
Valore restituito da format_map ()
format_map()
formatta la stringa data e la restituisce.
Esempio 1: come funziona format_map ()?
point = ('x':4,'y':-5) print('(x) (y)'.format_map(point)) point = ('x':4,'y':-5, 'z': 0) print('(x) (y) (z)'.format_map(point))
Produzione
4-5 4-5 0
Esempio 2: come funziona format_map () con la sottoclasse dict?
class Coordinate(dict): def __missing__(self, key): return key print('((x), (y))'.format_map(Coordinate(x='6'))) print('((x), (y))'.format_map(Coordinate(y='5'))) print('((x), (y))'.format_map(Coordinate(x='6', y='5')))
Produzione
(6, y) (x, 5) (6, 5)
format_map(mapping)
è più flessibile di format(**mapping)
quanto potresti avere chiavi mancanti.