我有一系列的类,继承自几个可能的父级之一,这些父级都共享一个基类。parameters每个类都有一个基于基类的类范围 Dict[str, object]parameters
from copy import deepcopy
class BaseClass:
parameters = {
'example_param1': ParamObject(name='example_param1', editable=True),
}
class MiddleClass(Baseclass):
parameters = {
**deepcopy(Baseclass.parameters),
'example_param2': ParamObject(name='example_param2', editable=False),
}
class ChildClass(MiddleClass):
parameters = {
**deepcopy(MiddleClass.parameters),
'example_param3': ParamObject(name='example_param3', editable=True),
}
Run Code Online (Sandbox Code Playgroud)
这个实现完成了工作,但我发现这条**deepcopy(Baseclass.parameters),线并不令人满意。随着时间的推移,这些子类将由仅对编码有基本了解的人进行编辑,因此我希望使代码尽可能简单且可剪切粘贴。
我可以在类范围内调用什么来获得 的等价物吗super().__class__?我希望用户能够将基类从 更改为 ,而MiddleClass无需MiddleClass2记住在多个位置更改基类。