猿问
回到首页
个人中心
反馈问题
注册登录
下载APP
首页
课程
实战
体系课
手记
专栏
慕课教程
请问如何找到给定名称的类的所有子类?
如何找到给定名称的类的所有子类?
我需要一种工作方法来获取从Python中的基类继承的所有类。
繁星coding
浏览 438
回答 3
3回答
慕莱坞森
如果您只想要直接子类,那么.__subclasses__()效果很好。如果您想要所有的子类,等等,您将需要一个函数来完成这个任务。下面是一个简单的、可读的函数,它递归地查找给定类的所有子类:def get_all_subclasses(cls): all_subclasses = [] for subclass in cls.__subclasses__(): all_subclasses.append(subclass) all_subclasses.extend(get_all_subclasses(subclass)) return all_subclasses
0
0
0
阿晨1998
最简单的一般形式的解决方案:def get_subclasses(cls): for subclass in cls.__subclasses__(): yield from get_subclasses(subclass) yield subclass和一个类方法,以防有一个继承自:@classmethoddef get_subclasses(cls): for subclass in cls.__subclasses__(): yield from subclass.get_subclasses() yield subclass
0
0
0
打开App,查看更多内容
随时随地看视频
慕课网APP
相关分类
Python
继续浏览精彩内容
慕课网APP
程序员的梦工厂
打开
继续