假设我有一个类X,我该如何检查基类/类,以及它们的基类/类等?如何检查Python的类层次结构?
我使用Eclipse中的PyDev,并提供Java例如,你可以在一个类的名字输入CTRL + T,看到了层次,如:
java.lang.Object java.lang.Number java.lang.Integer
是否有可能为Python?
如果在Eclipse PyDev中不可能,我可以在哪里找到这些信息?
假设我有一个类X,我该如何检查基类/类,以及它们的基类/类等?如何检查Python的类层次结构?
我使用Eclipse中的PyDev,并提供Java例如,你可以在一个类的名字输入CTRL + T,看到了层次,如:
java.lang.Object java.lang.Number java.lang.Integer
是否有可能为Python?
如果在Eclipse PyDev中不可能,我可以在哪里找到这些信息?
点击f4,高亮显示类名以打开层次结构视图。
此外,每个类都带有一个名为__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()'(它返回列表而不是元组)。 – derenio
命中命令+ O,然后按Ctrl + O显示父层次
结帐这个博客http://pydev.blogspot.jp/2015/03/navigating-through-your-code-when-in.html
这是在回答[Python中:列表层次结构中的所有基类] (http://stackoverflow.com/questions/1401661/python-list-all-base-classes-in-a-hierarchy) – kojiro