【发布时间】:2012-03-27 06:11:33
【问题描述】:
据我了解,由于类型/类统一每个 值都是派生自object 的类型。但是我在文档中找不到绝对的确认。虽然 isinstance(anything, object) 应该始终是 True 是有道理的,但我也可以想象 Python 2 代码库中存在遗留的边缘情况。有谁知道isinstance(value, object) 不是 True 的例子?
上下文:作为我正在设计的类型层次结构的一部分,有一个包罗万象的Alpha 类型,我希望isinstance(obj, Alpha) 始终返回True。我认为在 Python 2.6+ 上 ABCMeta.register(object) 应该可以解决问题,但我想确定一下。
编辑:为了后代,ABCMeta.register(object) 将不起作用(尝试一下)。 Ethan Furman 在下面的回答中为这种情况提供了另一种解决方案。
【问题讨论】:
-
一切都是
object的实例。在 C 级别有一些技巧可以使type(object)成为对象的实例。我现在没有参考资料,但在过去六个月的某个时候,有一篇关于此的博客文章。
标签: python python-2.x isinstance