假设您具有以下数据类
@dataclass
class Task:
subTasks: Optional[List[Task]]
这是不可能的,因为尚未声明Task
。
我正在使用带有dacite
+ dataclasses
的Python 3.6将大型字典解析为数据类。
目前,我一直在这样做:
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