Metoda format_map () je podobna str.format (** preslikava), le da str.format (** preslikava) ustvari nov slovar, str.format_map (preslikava) pa ne.
Preden se pogovorimo o format_map()
. Poglejmo, kako str.format(**mapping)
deluje za slovarje Python.
point = ('x':4,'y':-5) print('(x) (y)'.format(**point))
Izhod
4 -5
Preberite več o tem, kako formatirati nize v Pythonu?
Metoda format_map(mapping)
je podobna str.format(**mapping)
.
Edina razlika je v tem, da str.format(**mapping)
kopirate dikt, medtem ko str.format_map(mapping)
med klicem metode ustvari nov slovar. To je lahko koristno, če delate s dict
podrazredom.
Sintaksa format_map()
is
str.format_map (preslikava)
parameter_map Parameter
format_map()
vzame en argument mapping(dictionary)
.
Vrnjena vrednost iz format_map ()
format_map()
oblikuje dani niz in ga vrne.
Primer 1: Kako deluje 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))
Izhod
4 -5 4 -5 0
Primer 2: Kako format_map () deluje s podrazredom 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')))
Izhod
(6, y) (x, 5) (6, 5)
format_map(mapping)
je bolj prilagodljiv kot, format(**mapping)
ker lahko manjkajo tipke