我的理解是,由于类型/类统一每个值都是从object
派生的类型。但是我在文件中找不到绝对的确认。虽然isinstance(anything, object)
应该始终是True
,但我也可以想象Python2代码库中存在遗留的边缘情况。有人知道一个例子,其中isinstance(value, object)
是不是True
?在
上下文:作为我正在设计的类型层次结构的一部分,我希望isinstance(obj, Alpha)
总是返回True
的一个类型。我认为在Python2.6+ABCMeta.register(object)
上应该可以做到,但我想确定一下。在
编辑:看在后人的份上,ABCMeta.register(object)
不会起作用(试试看)。Ethan Furman在下面的回答中为这个案例提供了另一种解决方案。在
在2.x中,默认情况下,用户定义的类(以及一些stdlib类)不是从object派生的。这是在3.x中修复的
可以在非Python代码中创建不从
object
派生的类(例如C
)。在您应该能够通过将
__subclasshook__
添加到Alpha
来实现您想要的:相关问题 更多 >
编程相关推荐