我搜索了很多,但我發現主要是python遞歸編程的例子。所以這裏有這個問題:Python相互依賴類(循環依賴)
我該如何做到這一點?
class A:
b = B()
class B:
a = A()
我搜索了很多,但我發現主要是python遞歸編程的例子。所以這裏有這個問題:Python相互依賴類(循環依賴)
我該如何做到這一點?
class A:
b = B()
class B:
a = A()
一切都在Python動態 - 甚至是類的聲明。沒有什麼能阻止你的初始宣佈後修改類的內容:
class A:
pass
class B:
a = A()
A.b = B()
注意:如果你不那麼熟悉Python中,pass
關鍵字就是允許你「這裏沒有什麼」說 - 這不是除非A類在這個例子中是空的!
不錯,但我猜這不適用於字段'__metaclass__' ... – dhill
這也不會工作,如果你從'foo導入A'在另一個文件 –
這不是遞歸,它是循環依賴。 – geoffspear