Python从另一个类获取父类

时间:2018-01-31 12:24:26

标签: python-3.x class

class Test(object):
    def __init__(self, name, myclass):
        self.name = name
        self.myclass = myclass

   def get_parents(self):
        ? self.myclass.super() ?
        return parent

obj = Art # another class
testobj = Test('testA', obj)
print(testobj.get_parents())

可以使用Test获取super()的父类。

如何在Art类中获取Test的父类? (说Art继承自ArtistsArtists来自Base。我们需要能够ArtistsBase作为父母。)

1 个答案:

答案 0 :(得分:1)

您可以使用mro()获取方法解析顺序:

class Test(object):
    def __init__(self, name, myclass):
        self.name = name
        self.myclass = myclass

    def get_parents(self):
        return self.myclass.mro()

class Base:
    pass

class Artists(Base):
    pass

class Art(Artists):
    pass

testobj = Test('testA', Art)
print(testobj.get_parents())

输出:

[<class '__main__.Art'>, <class '__main__.Artists'>, <class '__main__.Base'>, <class 'object'>]

这应该接近:

  

我们需要能够将ArtistsBase作为父母。