0

A "task" class instance needs to contain information about its prerequisite tasks.

import typing

class Task:
    def __init__(
        self, 
        prerequisite: typing.Set(Task)
    ):
        self.prerequisite = prerequisite
File "test.py", line 3, in <module>
    class Task:
  File "test.py", line 6, in Task
    prerequisite: typing.Set(Task)
NameError: name 'Task' is not defined

1 Answers1

0

You can use and Abstract Class

from abc import ABC
import typing

class TaskType(ABC):
    pass

class Task:
    def __init__(self, prerequisite: typing.Set(TaskType)):
        self.prerequisite = prerequisite
LuisComS
  • 452
  • 4
  • 20
  • Obligatory quote: "All problems in computer science can be solved by another level of indirection... except for the problem of too many layers of indirection." – TrebledJ Jun 07 '19 at 19:33