простоты):
class Parent:
def __init__(self, *args, **kwargs):
pass
@property
def children(self) -> List[Child]:
return [
Child(
parent=self,
num=i,
)
for i in range(10)
]
class Child:
def __init__(self, parent: Parent, num: int):
self.parent = parent
self.num = num
def do_something(self, *args, **kwargs):
pass
я хочу
а) чтобы классы продолжали ссылаться друг на друга (как минимум чтобы сохранить хинты в Child)
б) разнести их по разным модулям
сейчас они лежат в одном модуле, разнесение приведет к циклическому импорту. который меня не то, чтобы очень смущает, но хочу сделать правильно.
как это разрулить?
спасибо.
Не делать так
как именно "так"?
зачем им ссылаться друг на друга?
Циклические ссылки
почему? усложнение сборки мусора?
Обсуждают сегодня