假设您有以下数据类
@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