次のデータクラスがあるとします
@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