【发布时间】:2020-07-06 03:33:45
【问题描述】:
假设我有一个包含大量输入的复杂类。此类不是数据类。此外,如果我明确导入它,如果我不提供所有参数,我希望它抱怨。
但是,为了接口和简洁的代码,我想为构造函数定义默认值,并将复杂类的参数传递给或多或少的“已定义”字典。
这对数据类来说是一项很好的任务,我已经定义了一个数据类类,其中包含所有带默认值的参数,并且我对其进行修改和操作。
@dataclass
ComplicatedClassArgs:
arg1: int
arg2: bool = False
...
我的问题相当于:我可以编写以下内容,并期望和/或告诉数据类调用 super.init(...) 以及我定义的所有命名属性吗?
@dataclass
ComplicatedClassArgs(ComplicatedClass):
arg1: int
arg2: bool = False
def some_meta_arg_manipulation_function(...):
pass
def some_other_arg_related_function(...):
pass
这样我就知道我已经用数据类入口点组成了一个更高级的内部类行为?
【问题讨论】:
标签: python-3.7 python-dataclasses