В Python3.4 вы можете сделать следующее:
class MyDict(dict):
def __missing__(self, key):
return "{%s}" % key
А затем что-то вроде:
d = MyDict()
d['first_name'] = 'Richard'
print('I am {first_name} {last_name}'.format(**d))
Печать, как и ожидалось:
I am Richard {last_name}
Но этот фрагмент не будет работать в Python3.6 +, возвращая KeyError
при попытке получить значение last_name
из словаря, есть ли обходной путь для форматирования этой строки, чтобы работать так же, как в Python3.4?
Спасибо!