В этом уроке по основам Python, мы рассмотрим строковый метод: format_map(). Метод аналогичен методу str.format()
, только метод str.format_map()
использует словарь напрямую, а не копирует его.
Синтаксис:
str.format_map(mapping)
Аргументы:
str
- строка для форматирования.mapping
- словарь.
Метод str.format_map()
работает также, как str.format(**mapping)
, за исключением того, что mapping используется напрямую и не копируется в словарь dict.
Пример сравнение:
point_dict = {'x': 2, 'y': 4, 'z': 8}
print('X = {x}, Y = {y}, Z = {z}'.format_map(point_dict))
print('X = {x}, Y = {y}, Z = {z}'.format(**point_dict))
Результат:
>>> X = 2, Y = 4, Z = 8
>>> X = 2, Y = 4, Z = 8
Пример с подклассом dict:
class ExDict(dict):
def __missing__(self, key):
return key
print('Hello, {name}, how are you?'.format_map(ExDict(name='John')))
Результат:
>>> Hello, John, how are you?