この例を考えてみましょう: 2 つの兄弟クラスがあり、一方が他のクラスを新しい属性としてロードし、兄弟内のメイン クラスからこの属性を使用したいと考えています。
a = 2
class AN(object):
def __init__(self,a):
self.aplus = a + 2
self.BECls = BE(a)
class BE(object):
def __init__(self,a):
print a
def get_aplus(self):
????
c = AN(a)
そして私はやりたい:
c.BECls.get_aplus()
これは、self.self.aplus (比喩的に) のようなものを返します。これは 4 になります。
再開: 引数として宣言せずに、BE クラス内の AN から aplus 属性を取得しますが、「a」変数が既に AN を介してロードされている必要があることを考慮して、可能であれば「リバース イントロスペクション」を実行します。
わかりにくかったら申し訳ありませんが、実際のコードで何が起こっているのかを単純化しようとしました。
問題は、クラスで使用しているテクニックにあると思います。しかし、何をどのように改善するのかはわかりません。
ありがとう