一
https://www.cnblogs.com/taysem/p/12156375.html
@property 下方的函数只能是self参数 ,不能有其他的参数
property 常和私有属性相结合使用
1.setter 修改
修改@property 下的属性值 借助 函数名称.setter 修改
2.deleter 删除
通过删除property属性来删除私有属性
二
https://zhuanlan.zhihu.com/p/64487092
class DataSet(object):
@property
def method_with_property(self): ##含有@property
return 15
def method_without_property(self): ##不含@property
return 15
l = DataSet()
print(l.method_with_property) # 加了@property后,可以用调用属性的形式来调用方法,后面不需要加()。
print(l.method_without_property()) #没有加@property , 必须使用正常的调用方法的形式,即在后面加()
三
https://blog.youkuaiyun.com/u013821237/article/details/84673712
私有属性:
1):单下划线_开头:只是告诉别人这是私有属性,外部依然可以访问更改
2):双下划线__开头:外部不可通过instancename.propertyname来访问或者更改,实际将其转化为了_classname__propertyname