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 dictsottoclasse.
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.








