为什么我不能从Python中的dict AND Exception继承?

为什么我不能从Python中的dict AND Exception继承?,第1张

为什么我不能从Python中的dict AND Exception继承

两者

Exception
dict
都在C中实现。

我认为您可以按照以下方式进行测试:

>>> class C(object): pass...>>> '__module__' in C.__dict__True>>> '__module__' in dict.__dict__False>>> '__module__' in Exception.__dict__False

由于

Exception
并且
dict
对如何在内部存储它们的数据有不同的想法,因此它们不兼容,因此您不能同时从两者继承。

在更高版本的Python中,尝试定义类时应获得Exception:

>>> class foo(dict, Exception):...     pass... Traceback (most recent call last):  File "<stdin>", line 1, in <module>TypeError: Error when calling the metaclass bases    multiple bases have instance lay-out conflict


欢迎分享,转载请注明来源:内存溢出

原文地址: http://outofmemory.cn/zaji/5647146.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2022-12-16
下一篇 2022-12-16

发表评论

登录后才能评论

评论列表(0条)

保存