Python相互依赖的类(循环依赖)
Posted
技术标签:
【中文标题】Python相互依赖的类(循环依赖)【英文标题】:Python mutually dependent classes (circular dependencies) 【发布时间】:2011-09-18 03:41:10 【问题描述】:我搜索了很多,但我发现的主要是python中递归编程的例子。那么问题来了:
我怎样才能做到这一点?
class A:
b = B()
class B:
a = A()
【问题讨论】:
这不是递归,是循环依赖。 【参考方案1】:Python 中的一切都是动态的——甚至是类声明。没有什么可以阻止您在初始声明后修改类的内容:
class A:
pass
class B:
a = A()
A.b = B()
注意:如果您对 Python 不太熟悉,pass
关键字只允许您说“这里什么都没有” - 除非 A 类像本示例中那样为空,否则这并不重要!
【讨论】:
如果你在另一个文件中from foo import A
这也行不通以上是关于Python相互依赖的类(循环依赖)的主要内容,如果未能解决你的问题,请参考以下文章