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脚本来控制Windows Azure的简单教程
Apr 16 Python
Python常用算法学习基础教程
Apr 13 Python
用 Python 爬了爬自己的微信朋友(实例讲解)
Aug 25 Python
Python实现可设置持续运行时间、线程数及时间间隔的多线程异步post请求功能
Jan 11 Python
Django的HttpRequest和HttpResponse对象详解
Jan 26 Python
python高阶爬虫实战分析
Jul 29 Python
python实现对指定字符串补足固定长度倍数截断输出的方法
Nov 15 Python
详解如何用django实现redirect的几种方法总结
Nov 22 Python
python如何从文件读取数据及解析
Sep 19 Python
python文件读写代码实例
Oct 21 Python
Python 爬取必应壁纸的实例讲解
Feb 24 Python
Python 如何利用ffmpeg 处理视频素材
Nov 27 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中in_array函数用法探究
2014/11/25 PHP
yii2 commands模式以及配置crontab定时任务的方法
2017/08/19 PHP
PHP Laravel中的Trait使用方法
2019/01/20 PHP
laravel框架数据库操作、查询构建器、Eloquent ORM操作实例分析
2019/12/20 PHP
用JavaScript 处理 URL 的两个函数代码
2007/08/13 Javascript
JavaScript Event学习第十一章 按键的检测
2010/02/10 Javascript
自己动手实现jQuery Callbacks完整功能代码详解
2013/11/25 Javascript
使用js实现按钮控制文本框加1减1应用于小时+分钟
2013/12/09 Javascript
JQuery仿小米手机抢购页面倒计时效果
2014/12/16 Javascript
JQuery遍历元素的父辈和祖先的方法
2016/09/18 Javascript
JS获取子、父、兄节点方法小结
2017/08/14 Javascript
js实现带有动画的返回顶部
2020/08/09 Javascript
python两种遍历字典(dict)的方法比较
2014/05/29 Python
用PyQt进行Python图形界面的程序的开发的入门指引
2015/04/14 Python
python获取当前时间对应unix时间戳的方法
2015/05/15 Python
详解使用Python处理文件目录的相关方法
2015/10/16 Python
jupyter安装小结
2016/03/13 Python
Ruby使用eventmachine为HTTP服务器添加文件下载功能
2016/04/20 Python
Python内存管理方式和垃圾回收算法解析
2017/11/11 Python
python编程使用selenium模拟登陆淘宝实例代码
2018/01/25 Python
python实现连续变量最优分箱详解--CART算法
2019/11/22 Python
Pytorch上下采样函数--interpolate用法
2020/07/07 Python
python如何调用百度识图api
2020/09/29 Python
CSS3中Transition动画属性用法详解
2016/07/04 HTML / CSS
美国礼品卡商城: Gift Card Mall
2017/08/25 全球购物
美国睫毛、眉毛精华液领导品牌:RevitaLash Cosmetics
2018/03/26 全球购物
施惠特软件测试面试题以及笔试题
2015/05/13 面试题
环保建议书作文
2014/03/12 职场文书
班组长竞聘书
2014/03/31 职场文书
2014年小学工作总结
2014/11/26 职场文书
写给同学的新学期寄语
2015/02/27 职场文书
干部外出学习心得体会
2016/01/18 职场文书
2016年青少年禁毒宣传教育活动总结(学校)
2016/04/05 职场文书
Win10鼠标轨迹怎么开 Win10显示鼠标轨迹方法
2022/04/06 数码科技
JavaScript前端面试扁平数据转tree与tree数据扁平化
2022/06/14 Javascript
MySQL事务的隔离级别详情
2022/07/15 MySQL