【发布时间】:2019-01-04 10:59:34
【问题描述】:
我正在尝试为 Python 3 修改一些 Python 2 代码。代码导入 DictMixin。有没有办法将它导入 Python 3?
【问题讨论】:
我正在尝试为 Python 3 修改一些 Python 2 代码。代码导入 DictMixin。有没有办法将它导入 Python 3?
【问题讨论】:
DictMixin 类在 Python3 中不再可用。
recommended solution 是 collections.abc.MutableMapping 的子类。
与DictMixin 类一样,您的类需要自己实现一些方法才能使子类化工作。
>>> class C(MutableMapping, object):pass
...
>>> c = C()
Traceback (most recent call last):
File "<stdin>", line 1, in <module>
TypeError: Can't instantiate abstract class C with abstract methods __delitem__, __getitem__, __iter__, __len__, __setitem__
【讨论】: