从基类到派生类的Python继承

2024-04-23 15:27:13 发布

您现在位置:Python中文网/ 问答频道 /正文

给定class和其他直接或间接扩展它的类。有没有一种方法可以获得直接扩展原始类的所有类。你知道吗

class Alpha(object):
    @classmethod
    def get_derivatives(cls):
        return [Beta, ] # when called from Alpha
        return [] # when called from Beta

class Beta(Alpha):
    pass

我猜这有点复杂,或者根本不可能。必须有一些关于派生类在哪里定义的规范,这会使事情变得棘手。。。你知道吗

我最好把派生类硬编码到基类中吗?你知道吗


Tags: 方法fromalphagetreturnobjectdefclass
1条回答
网友
1楼 · 发布于 2024-04-23 15:27:13

也许您正在寻找^{} method

class Alpha(object):
    @classmethod
    def get_derivatives(cls):
        return cls.__subclasses__() 

class Beta(Alpha):
    pass

print(Alpha.get_derivatives())
print(Beta.get_derivatives())

收益率

[<class '__main__.Beta'>]
[]

相关问题 更多 >