试图在同一个文件中有两个相互引用的类。最好的方法是什么:
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/