Posso usar um mapeamento dinâmico para descompactar argumentos de palavra-chave em Pytho

ara encurtar a história, quero chamar o formato com argumentos nomeados arbitrariamente, que farão uma pesquisa prévi

'{Thing1} and {other_thing}'.format(**my_mapping)

Eu tentei implementar o my_mapping assim:

class Mapping(object):
  def __getitem__(self, key):
    return 'Proxied: %s' % key
my_mapping = Mapping()

O que funciona como esperado ao chamarmy_mapping['anything']. Mas quando passado para format () como mostrado acima, recebo:

TypeError: format() argument after ** must be a mapping, not Mapping

Eu tentei subclassificardict ao invés deobject, mas agora chamandoformat() como mostrado aumentaKeyError. Eu até implementei__contains__ Comoreturn True, mas aindaKeyError.

Então parece que** não está apenas chamando__getitem__ no objeto passado. Alguém sabe como contornar isso?

questionAnswers(4)

yourAnswerToTheQuestion