class Test: pass
print(Test.__subclasses__())
返回:
AttributeError: class Test has no attribute '__subclasses__'
和
print(int.__subclasses__())
返回:
[<type 'bool'>]
为什么我不能在我的自定义对象上调用子类()?
这个内置方法不是自定义类型的保留器,是吗?
Each class keeps a list of weak references to its immediate subclasses. This method returns a list of all those references still alive. Example:
请您参考如下方法:
你需要这样做:-
class Foo(object):
pass
# This works perfectly fine now.
print(Foo.__subclasses__())
上面的类是一个“新式”类,因为它继承自对象类。新式类提供了许多“旧式”类所没有的额外框架。新式类的一个特殊属性是能够使用 subclasses 方法确定该类的子类。
