Sagen wir, ich habe zwei Klassen in zwei Dateien:Kreis Importe in Klassen
from Son import Son
class Mother:
def __init__(self):
self.sons = []
def add_son(self, son: Son):
self.sons.append(son)
und
from Mother import Mother
class Son:
def __init__(self, mother: Mother):
self.mother = mother
mother.add_son(self)
Plus eine Hauptdatei
from Mother import Mother
from Son import Son
if __name__ == '__main__':
mother = Mother()
son1 = Son(mother)
son2 = Son(mother)
Offensichtlich habe ich eine zirkuläre Abhängigkeit . Wie geht man mit dieser Art von Verhalten um, ohne den Typhinweis zu verlieren?
Artikel auf [zirkuläre Importe] (http://effbot.org/zone/import-confusion.htm#circular-imports) hier, die helfen können. Zwei Lösungen sind Code zu reformieren oder eine Importanweisung zum Ende des Moduls zu verschieben. –