1

假设您有以下数据类

@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

4

0 回答 0