Python 3.2+Строки (str)функция
str.format_map
форматирование
Как format, но берёт подстановки прямо из переданного словаря (без копирования).
Синтаксис
s.format_map(mapping)
Отличие от format(**d) не только в отсутствии копирования словаря: format_map принимает любой mapping, поэтому можно подсунуть collections.defaultdict или свой класс с __missing__ — и отсутствующий ключ не уронит форматирование, а подставит заглушку. С обычным dict пропущенный ключ по-прежнему даёт KeyError.
Примеры
print('{x}!'.format_map({'x': 'ok'})) # → ok!
print('{a}-{b}'.format_map({'a': 1, 'b': 2})) # → 1-2
print('{name}'.format_map({'name': 'Аня'})) # → Аня
См. также
Частые ошибки
Открыть в полном глоссарииdocs.python.orgСообщить о неточности