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