Python-streng format_map ()

Metoden format_map () svarer til str.format (** mapping) bortset fra at str.format (** mapping) opretter en ny ordbog, mens str.format_map (mapping) ikke gør det.

Før vi taler om format_map(). Lad os se, hvordan det str.format(**mapping)fungerer for Python Dictionaries.

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

Produktion

 4 -5

Lær mere om, hvordan man formaterer strenge i Python?

Det format_map(mapping)svarer til str.format(**mapping)metoden.

Den eneste forskel er, at der str.format(**mapping)kopieres dikt, mens der oprettes str.format_map(mapping)en ny ordbog under metodeopkald. Dette kan være nyttigt, hvis du arbejder med en dictunderklasse.

Syntaksen for format_map()er

 str.format_map (kortlægning)

format_map Parameter

format_map()tager et enkelt argument mapping(dictionary).

Returneringsværdi fra format_map ()

format_map() formaterer den givne streng og returnerer den.

Eksempel 1: Hvordan fungerer 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))

Produktion

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

Produktion

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

format_map(mapping)er mere fleksibel end format(**mapping)da du kan have manglende nøgler.

Interessante artikler...