试图在同一个文件中有两个相互引用的类。最好的方法是什么:

class Foo(object):
    other = Bar

class Bar(object):
    other = Foo

if __name__ == '__main__':
    print 'all ok'

?
问题似乎是,因为属性在类上,因为它试图在分析类本身时立即执行。
有办法解决这个问题吗?
编辑:
这些键用于SQLAlchemy映射,它们实际上是类变量(而不是实例)。

最佳答案

这将满足您的需要:

class Foo(object):
    pass

class Bar(object):
    pass

Foo.other = Bar
Bar.other = Foo

不过,我宁愿完全避免这样的设计。

关于python - Python循环引用,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/3270045/

10-12 17:33
查看更多