Python 今天抽空学习了@Property
1.@Property有啥用
1) @property使方法像属性一样调用
@property可以把一个实例方法变成其同名属性,以支持.号访问,它亦可标记设置限制,加以规范
2) @property
成为属性函数,可以对属性赋值时做必要的检查,比如在setter方法里加过滤判断条件。
3) 代码显得相对简洁一些, 相比自定义的get和set方法,property保证了代码的短小精悍,对私有属性的操作代码格式化模块化。
2. @Property原型
property(fget=None, fset=None, fdel=None, doc=None)
3. 用例子来理解:为什么要用@Property
改成下面这样
Python支持高阶函数,可以用装饰器函数把 get/set 方法“装饰”成属性调用:
第一个sala(self)是get方法,用@property装饰,第二个sala(self, sala)是set方法,用@sala.setter装饰,@sala.setter是前一个@property装饰后的副产品。
现在,就可以像使用属性一样设置sala了
4. 用例子来理解:@Property对是私有属性进行操作
看下面
参考:
https://www.cnblogs.com/Lambda721/p/6132206.html
https://blog.csdn.net/qq_26442553/article/details/82222572
http://www.cnblogs.com/crwy/p/6852347.html
https://www.jb51.net/article/134148.htm