Предположим, у меня сложный класс с большим количеством входных данных. Этот класс не является классом данных. Кроме того, если я импортирую это явно, я хотел бы, чтобы он жаловался, если я не предоставляю все аргументы.
Однако для целей сопряжения и чистого кода я хотел бы определить значения по умолчанию для конструкторов и передать аргументы для сложного класса как более или менее «определенный» диктат.
Это хорошая задача для класса данных, и я определил класс класса данных, содержащий все аргументы со значениями по умолчанию, которые я изменяю и манипулирую.
@dataclass
ComplicatedClassArgs:
arg1: int
arg2: bool = False
...
Мой вопрос сводится к следующему: могу ли я написать следующее и ожидать и / или сказать классу данных, чтобы он вызывал super. init (...) со всеми именованными атрибутами I определили?
@dataclass
ComplicatedClassArgs(ComplicatedClass):
arg1: int
arg2: bool = False
def some_meta_arg_manipulation_function(...):
pass
def some_other_arg_related_function(...):
pass
Так, что я знаю, что сочинил более продвинутое поведение внутреннего класса с точкой входа класса данных?