2011-06-19 36 views
11

私は多くを検索しましたが、主にPythonでの再帰的プログラミングの例です。だからここで質問に行く:Python相互依存クラス(循環依存関係)

どのように私はこれを達成することができますか?

class A: 
    b = B() 

class B: 
    a = A() 
+0

これは再帰ではなく、循環依存です。 – geoffspear

答えて

7

すべてはPythonでもダイナミックです(クラス宣言さえも)。

class A: 
    pass 

class B: 
    a = A() 

A.b = B() 

NB:最初の宣言の後にクラスの内容を変更するあなたを停止することは何もありませんあなたは、Pythonとその慣れていない場合は、passキーワードは単にあなたが「ここには何も」を言わないことができます - それはありませんクラスAがこの例のように空でなければ重要です!

+0

いいですが、 '__metaclass__'フィールドではうまくいかないと思います... – dhill

+1

' foo import Aから '別のファイル –