我遇到了如下所示的一些情況,其中每個類都需要另一個類,並且它創建了循環依賴關係。我遇到這種類型的情況,而使用ctypes包裝一些c代碼。 已經有很多這個主題的帖子,但我沒有發現他們有幫助,我需要一些例子。任何關於解決這個問題的想法/例子都會有所幫助。如何在Python中解決這種循環依賴關係
# Module A
from B import C2
class C1(object):
def __init__(self):
self.name = "C1"
self.c2 = C2()
# Module B
from A import C1
class C2(object):
def __init__(self):
self.name = "C2"
self.c1 = C1()
# Main
from A import C1
if __name__ == "__main__":
o = C1()
print o.name
該代碼包含一個無限的遞歸:該'__init __()'C1'的'方法無條件調用'__init __() ''C2',反之亦然。 –
[在python中解決循環導入錯誤]的可能的重複(http://stackoverflow.com/questions/10027011/resolve-circular-import-error-in-python)。我的例子與我在那裏的回答基本相同。 –