Как мне реализовать dict с абстрактными базовыми классами в Python? [Дубликат]
На этот вопрос уже есть ответ:
Как «идеально» переопределить диктовку? 5 ответов Я пытался реализовать отображение в Python с использованием абстрактного базового класса MutableMapping, но я получил ошибку при создании экземпляра. Как бы я сделал рабочую версию этого словаря, которая бы подражала встроенномуdict
класс, насколько это возможно, чтобы быть ясным, с Абстрактные базовые классы?
>>> class D(collections.MutableMapping):
... pass
...
>>> d = D()
Traceback (most recent call last):
File "<stdin>", line 1, in <module>
TypeError: Can't instantiate abstract class D with abstract methods __delitem__, __getitem__, __iter__, __len__, __setitem__
Хороший ответ покажет, как заставить это работать, особенно без подклассовdict
( концепция, с которой я довольно хорошо знаком).