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 上の属性を削除する際に 呼び出されます。

ご意見やご指摘をお寄せになりたい方は、 このドキュメントについて... をご覧ください。