3.3.2.2 デスクリプタ (descriptor) の実装
以下のメソッドは、デスクリプタメソッドを持っているクラス (いわゆる
デスクリプタ (descriptor) クラス) のインスタンスが
別の新たな形式のクラス、いわゆる オーナ (owner) クラスの
クラス辞書に存在する場合にのみ適用されます。
以下の例での ``属性'' とは、属性の名前が
オーナクラスの __dict__
に入っているプロパティ (porperty)
を検索するためのキーになっているような属性を指します。
__get__( |
self, instance, owner) |
-
オーナクラスやの属性を取得する (クラス属性へのアクセス) 際や、
オーナクラスのインスタンスの属性を取得する (インスタンス属性への
アクセス) 場合に呼び出されます。owner は常にオーナクラスです。
一方、instance は属性へのアクセスを仲介するインスタンスか
属性が owner を介してアクセスされる場合は
None
に
なります。このメソッドは (計算された) 属性値を返すか、
AttributeError 例外を送出しなければなりません。
__set__( |
self, instance, value) |
-
オーナクラスのインスタンス instance 上の属性を新たな値 value
に設定する際に呼び出されます。
__delete__( |
self, instance) |
-
オーナクラスのインスタンス instance 上の属性を削除する際に
呼び出されます。
ご意見やご指摘をお寄せになりたい方は、 このドキュメントについて... をご覧ください。