Рядок Python format_map ()

Метод 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)у вас можуть бути відсутні ключі.

Цікаві статті...