Python взаимозависимые классы (круговые зависимости)

Я много искал, но то, что я нахожу, это в основном примеры рекурсивного программирования в python. Итак, возникает вопрос:

Как я могу это достичь?

class A:
    b = B()

class B:
    a = A()

Ответы

Ответ 1

В Python все динамическое - даже декларации классов. Нет ничего, что могло бы помешать вам изменить содержимое класса после первоначального объявления:

class A:
    pass

class B:
    a = A()

A.b = B()

NB: Если вы не знакомы с Python, ключевое слово pass просто позволяет вам сказать "ничего здесь" - это не важно, если класс A не пуст, как в этом примере!