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)копирует dict, а str.format_map(mapping)при вызове метода создает новый словарь. Это может быть полезно, если вы работаете с dictподклассом.

Синтаксис format_map():

 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, у) (х, 5) (6, 5)

format_map(mapping)является более гибким, чем format(**mapping)если бы вы могли потерять ключи.

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