класс python, который действует как отображение для ** распаковки

Без подкласса dict, какой класс нужно считать отображением, чтобы его можно было передать в метод с **

from abc import ABCMeta

class uobj:
    __metaclass__ = ABCMeta

uobj.register(dict)

def f(**k): return k

o = uobj()
f(**o)

# outputs: f() argument after ** must be a mapping, not uobj

По крайней мере, до такой степени, что он выбрасывает ошибки отсутствующей функциональности отображения, поэтому я могу начать реализацию.

Я рассмотрел эмуляцию типов контейнеров, но простое определение магических методов не имеет никакого эффекта, и использование ABCMeta для переопределения и регистрации его как dict проверяет утверждения как подкласс, но не дает isinstance (o, dict). В идеале я даже не хочу использовать ABCMeta.

Ответы на вопрос(2)

Ваш ответ на вопрос