我有一个使用 Numpy 的项目。其中一个类需要一组称为权重的矩阵。出于多种原因,最好将所有这些矩阵值存储为一个长向量,并让每个单独的矩阵成为其中一部分的视图。
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
操作时定义 getter 和 setter?