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