Numpy を使用するプロジェクトがあります。クラスの 1 つは、重みと呼ばれる行列のセットを必要とします。いくつかの理由から、これらすべての行列値を 1 つの長いベクトルとして格納し、それぞれの個別の行列をそのスライスのビューにするのが最善です。
self.weightvector = asmatrix(rand(nweights, 1)) # All the weights as a vector
self.weights = list() # A list of views that have the 'correct' shape
for i in range(...):
self.weights.append(...)
クラスのユーザーが のような操作を行うとfoo.weights[i] = bar
、これらの重みは元の重みベクトルへのビューではなくなります。
Python は、このようなインデックス作成foo.weights[i] = bar
が行われたときにゲッターとセッターを定義できるメカニズムを提供していますか?