我在Jupyter控制台中运行以下代码(Python的版本是2.7.14
):
type.__base__
Out[2]: object
object.__class__
Out[3]: type
这对我来说似乎是一个难题。 type
的基类是object
,但是object
的类是type
!有一个圆圈。
我已经尝试了下面的其他代码,
class B(object): pass
class A(B): pass
A.__base__
Out[8]: __main__.B
B.__class__
Out[9]: type
A和B之间没有明显的圆圈。在谈论type
和object
时,我不明白为什么会有一个圆圈。
更新:
是的,所有类都是一种类型。但我想知道如何解释type.__class__
本身就是type
。
因为object
是一种类型,object.__class__
应该是type
。
由于type
本身就是一个类,它继承自object
。
看看这两个例子让我们看得更清楚:
>>> type.__class__
<class 'type'>
>>> object.__base__
>>>
所以,object.__base__
是None。