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

最新文章

  1. 说说Spring中的WebDataBinder
  2. IE下Array.prototype.slice.call(params,0)
  3. Nginx的配置中与流量分发相关的配置规范:
  4. python爬取并计算成绩
  5. light oj 1068 - Investigation 数位DP
  6. LeetCode: 3SumClosest
  7. Servlet & JSP - Cookie
  8. Android Toast 总结(五种用法)
  9. Guava的一些总结
  10. 用户登陆,退出等基本Action
  11. JQuery hover toggle事件使用
  12. MVC导入命名空间
  13. github下载和上传项目
  14. H5富文本编辑器之初始化用于编辑的DOM-遁地龙卷风
  15. 关于resharper激活
  16. angular部署到iis出现404解决方案
  17. Linux背背背(5)
  18. 数据共享Manager
  19. 【洛谷p1605】迷宫
  20. delphi 中的浮点数 (转载)

热门文章

  1. Vue router link
  2. 【Hibernate】事务处理
  3. 为什么说Java程序员必须掌握 Spring Boot ?
  4. 【python】python3连接mysql数据库
  5. Microsoft 中间语言
  6. idou老师教你学Istio 23 : 如何用 Istio 实现速率限制
  7. PAT Advanced 1022 Digital Library (30 分)
  8. java8的相关特性
  9. JAVA遇见HTML——JSP篇(JSP内置对象上)
  10. Django2.2连接MySQL问题解决