我想要实现的是将一种类型注册为所有其他类型的子类型。由于某些其他原因我无法使用元类,所以__init_subclass__
似乎是一个合理的选择。
我有这样的代码
from abc import ABC
class AnyData(ABC):
pass
class BaseData(ABC):
def __init_subclass__(cls, **kwargs):
super().__init_subclass__(**kwargs)
cls.register(AnyData)
class DataA(BaseData):
pass
However issubclass(AnyData, DataA)
回报False
, 直到DataA
是子类化的,比如
class DataB(DataA):
pass
Now, issubclass(AnyData, DataA)
回报True
and issubclass(AnyData, DataB)
回报False
请帮忙解释一下为什么会出现这样的情况?
None
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)