次のデータクラスがあるとします
@dataclass
class Task:
subTasks: Optional[List[Task]]
Taskはまだ宣言されていないため、これは不可能です。
Python 3.6 w/ dacite+dataclassesを使用して、大きな辞書をデータクラスに解析しています。
現在、私は次のようにしています:
from dataclasses import dataclass
from dacite import from_dict
@dataclass
class Task:
subTasks: Optional[List]
def process_sub_tasks(self) -> None:
cls = type(self)
if self.subTasks:
self.subTasks = [from_dict(data_class=cls, data=d) for d in self.subTasks]
for subtask in self.subTasks:
subtask.process_sub_tasks()
ジェネリックではなくオブジェクトでsubTasksあることを知らせるために何らかの方法で入力する方法があるかどうか疑問に思っていましたList[Task]List