Python-streng format_map ()

Format_map () -metoden ligner på str.format (** mapping) bortsett fra at str.format (** mapping) oppretter en ny ordbok, mens str.format_map (mapping) ikke gjør det.

Før du snakker om format_map(). La oss se hvordan str.format(**mapping)fungerer for Python Dictionaries.

 point = ('x':4,'y':-5) print('(x) (y)'.format(**point))

Produksjon

 4 -5

Lær mer om hvordan du formaterer strenger i Python?

Det format_map(mapping)ligner på str.format(**mapping)metoden.

Den eneste forskjellen er at str.format(**mapping)kopierer dikten mens den str.format_map(mapping)lager en ny ordbok under metodeanrop. Dette kan være nyttig hvis du jobber med en dictunderklasse.

Syntaksen til format_map()er

 str.format_map (kartlegging)

format_map Parameter

format_map()tar et eneste argument mapping(dictionary).

Returverdi fra format_map ()

format_map() formaterer den gitte strengen og returnerer den.

Eksempel 1: Hvordan format_map () fungerer?

 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))

Produksjon

 4 -5 4 -5 0

Eksempel 2: Hvordan format_map () fungerer med dict-underklasse?

 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')))

Produksjon

 (6, y) (x, 5) (6, 5)

format_map(mapping)er mer fleksibel enn format(**mapping)da du kan ha manglende nøkler.

Interessante artikler...