在python中,给定一个模块x和一个类y,如何迭代或生成模块x中存在的y的所有子类的列表?

最佳答案

有一种方法可以做到:

import inspect

def get_subclasses(mod, cls):
    """Yield the classes in module ``mod`` that inherit from ``cls``"""
    for name, obj in inspect.getmembers(mod):
        if hasattr(obj, "__bases__") and cls in obj.__bases__:
            yield obj

关于python - 迭代给定模块中给定类的子类,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/44352/

10-12 23:15