理解
簡(jiǎn)單來(lái)說(shuō),@property是提供了一種class里屬性的get方法。
調(diào)用這類(lèi)函數(shù)的時(shí)候,不用加括號(hào),相當(dāng)于直接使用屬性。
- 調(diào)用的例子:其實(shí)和屬性的調(diào)用沒(méi)有什么不同
a=Dataset()
a.data
你可以為你的屬性設(shè)置私有屬性之類(lèi)的東西,再用@property調(diào)用,不過(guò)這好像用處沒(méi)有這么大。
實(shí)例
今天讀到這個(gè)代碼,覺(jué)得非常巧妙,感覺(jué)理解了@property 的用處,當(dāng)我想獲得dataset中的data時(shí),可以巧妙的讀取我想要的東西:訓(xùn)練集,返回X,Y。測(cè)試集,返回X。
@property
def data(self):
if self.with_label==True:
return self.X,self.Y
else:
return self.X