Python-sträng format_map ()

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 dictunderklass.

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.

Intressanta artiklar...