【问题标题】:Python mutually dependent classes (circular dependencies)Python相互依赖的类(循环依赖)
【发布时间】:2011-09-18 03:41:10
【问题描述】:

我搜索了很多,但我发现的主要是python中递归编程的例子。那么问题来了:

我怎样才能做到这一点?

class A:
    b = B()

class B:
    a = A()

【问题讨论】:

  • 这不是递归,是循环依赖。

标签: python class circular-dependency


【解决方案1】:

Python 中的一切都是动态的——甚至是类声明。没有什么可以阻止您在初始声明后修改类的内容:

class A:
    pass

class B:
    a = A()

A.b = B()

注意:如果您对 Python 不太熟悉,pass 关键字只允许您说“这里什么都没有” - 除非 A 类像本示例中那样为空,否则这并不重要!

【讨论】:

  • 如果你在另一个文件中from foo import A 这也行不通
猜你喜欢
  • 2013-10-21
  • 2013-03-18
  • 1970-01-01
  • 1970-01-01
  • 2014-07-27
  • 1970-01-01
  • 2017-10-12
  • 2018-07-17
  • 2018-10-19
相关资源
最近更新 更多