Python-装饰器-property 发表于 2024-03-13 | 分类于 编程拾慧 , python 对象@property可以将对象内定义的方法转换为属性(不可变更值),同时调用的方法发生变化(方法的调用需要后面添加”()”,属性不能添加) 12345678910111213141516171819202122DataSet(object): @property def method_with_property(self): ##含有@property return 15 def method_without_property(self): ##不含@property return 15l = DataSet()print(l.method_with_property) # 加了@property后,可以用调用属性的形式来调用方法,后面不需要加()。print(l.method_without_property()) #没有加@property , 必须使用正常的调用方法的形式,即在后面加()class DataSet(object): def __init__(self): self._images = 1 self._labels = 2 #定义属性的名称 @property def images(self): #方法加入@property后,这个方法相当于一个属性,这个属性可以让用户进行使用,而且用户有没办法随意修改。 return self._images @property def labels(self): return self._labelsl = DataSet()#用户进行属性调用的时候,直接调用images即可,而不用知道属性名_images,因此用户无法更改属性,从而保护了类的属性。print(l.images) # 加了@property后,可以用调用属性的形式来调用方法,后面不需要加()。 方法 -------------本文结束感谢您的阅读-------------