如何检查Python的类层次结构?

11 投票
5 回答
6139 浏览
提问于 2025-04-17 06:42

假设我有一个叫做X的类,我该怎么查看它的父类是什么,以及它的父类的父类等等?

我在用Eclipse和PyDev,举个例子,在Java中,你可以按CTRL + T键查看一个类的层级结构,像这样:

java.lang.Object
   java.lang.Number
       java.lang.Integer

那在Python中也可以这样做吗?

如果在Eclipse PyDev里做不到,那我该去哪里找这些信息呢?

5 个回答

7

每个类都有一个叫做 __mro__ 的属性,这个属性列出了这个类可以继承的所有父类的方法和属性。你可以从左到右阅读这些父类。比如:

assert bool.__mro__ == (<class 'bool'>, <class 'int'>, <class 'object'>)
assert True.__class__.__mro__ == (<class 'bool'>, <class 'int'>, <class 'object'>)
8

试试这个 inspect.getclasstree()

8

当你选中类名后,按下F4键,就可以打开层级视图了。

撰写回答