以下に示すような状況に遭遇しました。各クラスは他のクラスを必要とし、循環依存関係を作成します。ctypes を使用していくつかの C コードをラップしているときに、このタイプの状況に遭遇しました。このトピックに関する投稿はすでにたくさんありますが、役に立たなかったので、例が必要です。これを解決するための考え/例は役に立ちます。
# 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