我正在阅读一本关于 Python 的教科书,它涵盖了新型类差异。在使用经典类的解释器中观察 Python 2.X 中的以下代码:
class C: pass
X = C()
isinstance(X, object) #returns true
isinstance(C, object) #returns true
(要使用新式类,必须明确派生自 2.X 中的对象类)
那么一个不从对象类派生的对象(如经典类中的情况)如何成为对象的实例呢?在 3.X 和 2.X 的情况下,幕后发生了什么?
至于这是否是一个重复的问题:我已经知道一切在技术上都是一个对象,我想知道在 python 本身的设计中如何明确处理差异,而不是认为 isinstance 的结果是理所当然的。