python3.6中@property装饰器的使用方法示例


Posted in Python onAugust 17, 2019

本文实例讲述了python3.6中@property装饰器的使用方法。分享给大家供大家参考,具体如下:

1、@property装饰器的使用场景简单记录如下:

  • 负责把一个方法变成属性调用;
  • 可以把一个getter方法变成属性,@property本身又创建了另一个装饰器@score.setter,负责把一个setter方法变成属性赋值;
  • 只定义getter方法,不定义setter方法就是一个只读属性

2、通过一个例子来加深对@property装饰器的理解:利用@property给一个Screen对象加上width和height属性,以及一个只读属性resolution。

代码实现如下:

class Screen(object):
 @property
 def width(self):
 return self._width
 @width.setter
 def width(self,value):
 self._width = value
 @property
 def height(self):
 return self._height
 @height.setter
 def height(self,values):
 self._height = values
 @property
 def resolution(self):
 return self._width * self._height
s = Screen()
s.width = 1024
s.height = 768
print('resolution = ',s.resolution)

运行结果:

resolution =  786432

希望本文所述对大家Python程序设计有所帮助。

Python 相关文章推荐
python装饰器初探(推荐)
Jul 21 Python
Python中表达式x += y和x = x+y 的区别详解
Jun 20 Python
scrapy spider的几种爬取方式实例代码
Jan 25 Python
Python中的上下文管理器和with语句的使用
Apr 17 Python
Python OpenCV处理图像之滤镜和图像运算
Jul 10 Python
python处理multipart/form-data的请求方法
Dec 26 Python
django admin.py 外键,反向查询的实例
Jul 26 Python
python写程序统计词频的方法
Jul 29 Python
Django中使用极验Geetest滑动验证码过程解析
Jul 31 Python
python如何使用Redis构建分布式锁
Jan 16 Python
python中with用法讲解
Feb 07 Python
Python中的套接字编程是什么?
Jun 21 Python
对django的User模型和四种扩展/重写方法小结
Aug 17 #Python
python3.6编写的单元测试示例
Aug 17 #Python
python3 实现的对象与json相互转换操作示例
Aug 17 #Python
python3实现的zip格式压缩文件夹操作示例
Aug 17 #Python
django 通过url实现简单的权限控制的例子
Aug 16 #Python
对Django中内置的User模型实例详解
Aug 16 #Python
对Django中的权限和分组管理实例讲解
Aug 16 #Python
You might like
PHP中的日期及时间
2006/11/23 PHP
php 遍历数据表数据并列表横向排列的代码
2009/09/05 PHP
深入PHP运行环境配置的详解
2013/06/04 PHP
php增删改查示例自己写的demo
2013/09/04 PHP
PHP性能分析工具XHProf安装使用教程
2015/05/13 PHP
php随机获取金山词霸每日一句的方法
2015/07/09 PHP
对比PHP对MySQL的缓冲查询和无缓冲查询
2016/07/01 PHP
PHP whois查询类定义与用法示例
2019/04/03 PHP
prototype 源码中文说明之 prototype.js
2006/09/22 Javascript
jquery.messager.js插件导致页面抖动的解决方法
2013/07/14 Javascript
使用jquery获取网页中图片高度的两种方法
2013/09/26 Javascript
JavaScript验证18位身份证号码最后一位正确性的实现代码
2014/08/07 Javascript
浅谈js 闭包引起的内存泄露问题
2015/06/22 Javascript
快速掌握Node.js模块封装及使用
2016/03/21 Javascript
layui 表格的属性的显示转换方法
2018/08/14 Javascript
vue中$nextTick的用法讲解
2019/01/17 Javascript
微信小程序实现订单倒计时
2020/11/01 Javascript
vue使用微信扫一扫功能的实现代码
2020/04/11 Javascript
详解Vue 数据更新了但页面没有更新的 7 种情况汇总及延伸总结
2020/05/28 Javascript
Python自定义函数定义,参数,调用代码解析
2017/12/27 Python
对numpy 数组和矩阵的乘法的进一步理解
2018/04/04 Python
python try except 捕获所有异常的实例
2018/10/18 Python
Python实现批量修改图片格式和大小的方法【opencv库与PIL库】
2018/12/03 Python
python数据持久存储 pickle模块的基本使用方法解析
2019/08/30 Python
浅谈pytorch池化maxpool2D注意事项
2020/02/18 Python
python实现贪吃蛇双人大战
2020/04/18 Python
如何查看python关键字
2021/01/17 Python
黑猩猩商店:The Chimp Store
2020/02/12 全球购物
温泉秘密:Onsen Secret
2020/07/06 全球购物
卫生巾广告词
2014/03/18 职场文书
好人好事演讲稿
2014/09/01 职场文书
机关职员工作检讨书
2014/10/23 职场文书
车间班组长竞聘书
2015/09/15 职场文书
Pycharm 如何设置HTML文件自动补全代码或标签
2021/05/21 Python
Pytorch distributed 多卡并行载入模型操作
2021/06/05 Python
python获取字符串中的email
2022/03/31 Python