Python互相依赖类(循环依赖)

18

我已经搜寻了很多,但大部分在Python中是递归编程的案例。所以这里是问题:

我该如何实现这个?

class A:
    b = B()

class B:
    a = A()

这不是递归,而是循环依赖。 - Wooble
1个回答

10

Python中的所有内容都是动态的,即使是类声明。在初始声明之后,您可以随时修改类的内容:

class A:
    pass

class B:
    a = A()

A.b = B()

NB:如果你对Python不是非常熟悉,那么pass关键字只是让你可以表示“这里没有内容” - 除非类A像这个示例一样为空,否则它并不重要!


4
如果你在另一个文件中使用了 from foo import A,那么这个方法也不会起作用。 - Ahmed Aeon Axan

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接