Stringa Python format_map ()

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.

Articoli interessanti...