python 查看类有哪些子类

发布网友 发布时间:2022-04-24 05:00

我来回答

1个回答

热心网友 时间:2022-04-07 10:23

递归获取某一父类的所有子类

all_subclasses = {'0': '0'}
def get_all_classes(model):
    """
    获取父类的所有子类
    """
    for subclass in model.__subclasses__():
        # print(subclass._meta.abstract)
        if (not (subclass.__name__) in all_subclasses.keys()) and (not subclass._meta.abstract):
            all_subclasses[subclass.__name__] = subclass
        get_all_classes(subclass)
    return all_subclasses

这里主要用到了__subclasses__() 这个方法,这个方法返回的是这个类的子类的集合,用递归的方法,去获取传入类型的所有子类。返回给全局变量 all_subclasses这个字典集合。

声明声明:本网页内容为用户发布,旨在传播知识,不代表本网认同其观点,若有侵权等问题请及时与本网联系,我们将在第一时间删除处理。E-MAIL:11247931@qq.com