Метод format_map () подібний до str.format (** mapping), за винятком того, що str.format (** mapping) створює новий словник, тоді як str.format_map (mapping) - ні.
Перш ніж говорити про format_map()
. Давайте подивимося, як це str.format(**mapping)
працює для словників Python.
point = ('x':4,'y':-5) print('(x) (y)'.format(**point))
Вихідні дані
4 -5
Дізнайтеся більше про те, як форматувати рядки в Python?
Це format_map(mapping)
схоже на str.format(**mapping)
метод.
Єдина відмінність полягає в тому, що str.format(**mapping)
копіюється dict, тоді як він str.format_map(mapping)
створює новий словник під час виклику методу. Це може бути корисно, якщо ви працюєте з dict
підкласом.
Синтаксис format_map()
is
str.format_map (відображення)
Параметр format_map
format_map()
приймає один аргумент mapping(dictionary)
.
Повернене значення з format_map ()
format_map()
форматує заданий рядок і повертає його.
Приклад 1: Як працює 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))
Вихідні дані
4 -5 4 -5 0
Приклад 2: Як format_map () працює з підкласом 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')))
Вихідні дані
(6, y) (x, 5) (6, 5)
format_map(mapping)
є більш гнучким, ніж format(**mapping)
у вас можуть бути відсутні ключі.