【问题标题】:How do I inspect a Python's class hierarchy?如何检查 Python 的类层次结构?
【发布时间】:2012-01-02 10:17:28
【问题描述】:

假设我有一个类 X,我如何检查哪些是基类/类,以及它们的基类/类等?

我正在使用 Eclipse 和 PyDev,例如对于 Java,您可以在类名上键入 CTRL + T 并查看层次结构,例如:

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

Python 可以吗?

如果在 Eclipse PyDev 中无法实现,我在哪里可以找到这些信息?

【问题讨论】:

标签: python class inheritance pydev hierarchy


【解决方案1】:

按 f4 并突出显示类名以打开层次结构视图。

【讨论】:

    【解决方案2】:

    【讨论】:

      【解决方案3】:

      此外,每个类都带有一个名为__mro__ 的属性,该属性给出了给定类可以从中继承方法或属性的所有父类。从左到右阅读它们。例如:

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

      【讨论】:

      • 每个(新样式)类都有一个mro 方法,所以你可以分别调用bool.mro()True.__class__.mro()(它返回列表而不是元组)。
      【解决方案4】:

      按 command+o,然后按 Ctrl+O 显示父层次结构

      查看此博客http://pydev.blogspot.jp/2015/03/navigating-through-your-code-when-in.html

      【讨论】:

        猜你喜欢
        • 1970-01-01
        • 1970-01-01
        • 2010-10-19
        • 2011-01-18
        • 1970-01-01
        • 1970-01-01
        • 2015-11-01
        • 2020-10-11
        相关资源
        最近更新 更多