2

クラスがすでに定義された後、記述子を関連付けるにはどうすればよいですか?

通常の記述子シナリオでは、これを実行します。

class X:
    d = Descriptor()

そして、Descriptor.__get__(self,obj,kls)が呼び出されるたびに、2番目のパラメーターはのインスタンスでXあり、すべてが幸せで素晴らしいものです。

しかし、Xすでにそのように定義されている場合はどうなりますか?

class X: pass

事後に記述子を追加するにはどうすればよいですか(そして正しく機能させるには!)?私のすべての試みは、クラスへの適切な関連付けを取得していません

私はこれをやっています。DRYの方法で追加したい属性がたくさんあり、それらをcached_properties(それぞれの値をメモ化するために使用している記述子)にしたいのです。

4

1 に答える 1

3
X.d = Descriptor()

必要なのはそれだけです。

于 2012-03-28T21:19:13.617 に答える