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 从远程服务器下载东西的代码
Feb 10 Python
Python中字典和JSON互转操作实例
Jan 19 Python
举例讲解Python中字典的合并值相加与异或对比
Jun 04 Python
python中快速进行多个字符替换的方法小结
Dec 15 Python
python3实现全角和半角字符转换的方法示例
Sep 21 Python
windows环境下tensorflow安装过程详解
Mar 30 Python
python 通过xml获取测试节点和属性的实例
Mar 31 Python
Tensorflow卷积神经网络实例进阶
May 24 Python
python实现对csv文件的列的内容读取
Jul 04 Python
Python 从一个文件中调用另一个文件的类方法
Jan 10 Python
Python控制鼠标键盘代码实例
Dec 08 Python
Pygame Event事件模块的详细示例
Nov 17 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中设置、使用、删除Cookie的解决方法
2013/05/06 PHP
PHP创建桌面快捷方式的实例代码
2014/02/17 PHP
php无限遍历目录示例
2014/02/21 PHP
php判断linux下程序问题实例
2015/07/09 PHP
浅谈Laravel中的一个后期静态绑定
2017/08/11 PHP
Laravel框架自定义公共函数的引入操作示例
2019/04/16 PHP
PHP设计模式之 策略模式Strategy详解【对象行为型】
2020/05/01 PHP
Stop SQL Server
2007/06/21 Javascript
window.showModalDialog()返回值的学习心得总结
2014/01/07 Javascript
JQuery each()嵌套使用小结
2014/04/18 Javascript
javascript中html字符串转化为jquery dom对象的方法
2015/08/27 Javascript
jQuery之简单的表单验证实例
2016/07/07 Javascript
浅谈js中子页面父页面方法 变量相互调用
2016/08/04 Javascript
浅谈Web页面向后台提交数据的方式和选择
2016/09/23 Javascript
ES2015 Symbol 一种绝不重复的值
2016/12/25 Javascript
jQuery中animate()的使用方法及解决$(”body“).animate({“scrollTop”:top})不被Firefox支持的问题
2017/04/04 jQuery
easyui简介_动力节点Java学院整理
2017/07/14 Javascript
JSON数据中存在单个转义字符“\”的处理方法
2018/07/11 Javascript
[55:35]VGJ.S vs Mski Supermajor小组赛C组 BO3 第二场 6.3
2018/06/04 DOTA
[43:57]LGD vs Mineski 2018国际邀请赛小组赛BO2 第二场 8.19
2018/08/21 DOTA
Python文件操作之合并文本文件内容示例代码
2017/09/19 Python
python利用跳板机ssh远程连接redis的方法
2019/02/19 Python
anaconda如何查看并管理python环境
2019/07/05 Python
python集合的创建、添加及删除操作示例
2019/10/08 Python
python pip安装包出现:Failed building wheel for xxx错误的解决
2019/12/25 Python
python基于opencv检测程序运行效率
2019/12/28 Python
自定义实现 PyQt5 下拉复选框 ComboCheckBox的完整代码
2020/03/30 Python
英国最大的邮寄种子和植物公司:Thompson & Morgan
2017/09/21 全球购物
西雅图的买手店:Totokaelo
2019/10/19 全球购物
售后主管岗位职责
2013/12/08 职场文书
四年大学生活的个人自我评价
2013/12/11 职场文书
2014党员干部四风问题对照检查材料思想汇报
2014/09/24 职场文书
2014年护士工作总结范文
2014/11/11 职场文书
2015年党风廉政承诺书
2015/01/22 职场文书
团员自我评价范文
2015/03/10 职场文书
读《庄子》有感:美而不自知
2019/11/06 职场文书