如何在Python中检查类是否有子类?
是否有函数将类作为参数并根据其子类的存在返回如何在Python中检查类是否有子类?,python,python-2.7,python-3.x,Python,Python 2.7,Python 3.x,是否有函数将类作为参数并根据其子类的存在返回True或False?原则上可能吗 class A: pass class B(A): pass has_children(A) # should return True has_children(B) # should return False 我想知道一个不需要访问globals(),locals(),vars()的解决方案。您可以使用\uuuuuuuu子类方法: def has_children(cls): re
True
或False
?原则上可能吗
class A:
pass
class B(A):
pass
has_children(A) # should return True
has_children(B) # should return False
我想知道一个不需要访问
globals()
,locals()
,vars()
的解决方案。您可以使用\uuuuuuuu子类
方法:
def has_children(cls):
return bool(cls.__subclasses__())
此方法仅为“新样式”类定义(继承自Python 2中的
对象,Python 3中的默认值)。谢谢,它起了作用。仅供参考,我刚刚在