我有一個使用Numpy的項目。其中一個類需要一組稱爲權重的矩陣。出於以下幾個原因,如果我將所有這些矩陣值存儲爲一個長向量,並且讓每個單獨的矩陣成爲該切片的視圖,那麼最好。作爲列表/元組行事的setter和getters
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?
如果從繼承'list'您可能還需要考慮覆蓋'__setslice__',請參閱[文檔](http://docs.python.org/2/reference/datamodel.html#additional-方法換仿真-的序列類型)。 – Jaime 2013-02-21 13:32:57