Python String 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)копира дикта, докато 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)може да ви липсват ключове.

Интересни статии...