Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/python/340.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
在python中检索继承关系信息_Python_Inheritance - Fatal编程技术网

在python中检索继承关系信息

在python中检索继承关系信息,python,inheritance,Python,Inheritance,假设我有以下继承关系 object->Car->SUV object是Car的父亲,Car是SUV的父亲 我如何使用Python程序获取此类关系信息,例如使用dir获取类的属性 In [11]: SUV.__bases__ Out[11]: (<class '__main__.Car'>,) In [12]: Car.__bases__ Out[12]: (<type 'object'>,) [11]中的:SUV.\uu__ Out[11]:(,) [1

假设我有以下继承关系

object->Car->SUV
object
Car
的父亲,
Car
SUV
的父亲


我如何使用Python程序获取此类关系信息,例如使用
dir
获取类的属性

In [11]: SUV.__bases__
Out[11]: (<class '__main__.Car'>,)

In [12]: Car.__bases__
Out[12]: (<type 'object'>,)
[11]中的
:SUV.\uu__
Out[11]:(,)
[12]中:汽车底座__
Out[12]:(,)

如果目的是从子方法调用父方法,请改用。

使用
\uuuuuu基\uuu

In [11]: SUV.__bases__
Out[11]: (<class '__main__.Car'>,)

In [12]: Car.__bases__
Out[12]: (<type 'object'>,)
[11]中的
:SUV.\uu__
Out[11]:(,)
[12]中:汽车底座__
Out[12]:(,)

如果目的是从子方法调用父方法,请改为使用。

除了aix提到的
\uuuuu base\uuuuuu
之外,还有
\uuuuu mro\uuuuu
将告诉您要继承的所有类、返回到
对象的类,以及搜索给定属性的顺序

class foo(object):
   pass

class bar(foo):
   pass

print bar.__mro__
>>> (<class '__main__.bar'>, <class '__main__.foo'>, <type 'object'>)
类foo(对象):
通过
分类栏(foo):
通过
打印栏。\u\u mro__
>>> (, )

如果您有一个实例,而不是一个类,那么您可以执行
type(x)。\uuumro\uuu
除了aix提到的
\uuuu base\uuuu
之外,还有
\uuumro\uuuu
将告诉您从中继承的所有类,返回到
对象,以及搜索给定属性的顺序

class foo(object):
   pass

class bar(foo):
   pass

print bar.__mro__
>>> (<class '__main__.bar'>, <class '__main__.foo'>, <type 'object'>)
类foo(对象):
通过
分类栏(foo):
通过
打印栏。\u\u mro__
>>> (, )
如果您有一个实例,而不是一个类,那么您可以执行
type(x)。\uuu mro\uuu