Metoden format_map () liknar str.format (** mapping) förutom att str.format (** mapping) skapar en ny ordlista medan str.format_map (mapping) inte gör det.
Innan du pratar om format_map()
. Låt oss se hur det str.format(**mapping)
fungerar för Python Dictionaries.
point = ('x':4,'y':-5) print('(x) (y)'.format(**point))
Produktion
4 -5
Läs mer om hur man formaterar strängar i Python?
Det format_map(mapping)
liknar str.format(**mapping)
metoden.
Den enda skillnaden är att str.format(**mapping)
kopierar dikten medan man str.format_map(mapping)
skapar en ny ordbok under metodsamtal. Detta kan vara användbart om du arbetar med en dict
underklass.
Syntaxen för format_map()
is
str.format_map (mapping)
format_map Parameter
format_map()
tar ett enda argument mapping(dictionary)
.
Returvärde från format_map ()
format_map()
formaterar den angivna strängen och returnerar den.
Exempel 1: Hur fungerar 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
Exempel 2: Hur format_map () fungerar med dict-underklass?
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)
är mer flexibel än format(**mapping)
eftersom du kan ha saknade nycklar.