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