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中 Lambda表达式全面解析
Nov 28 Python
python递归打印某个目录的内容(实例讲解)
Aug 30 Python
对pandas中时间窗函数rolling的使用详解
Nov 28 Python
Python 利用pydub库操作音频文件的方法
Jan 09 Python
python实现nao机器人身体躯干和腿部动作操作
Apr 29 Python
使用批处理脚本自动生成并上传NuGet包(操作方法)
Nov 19 Python
Python3 Tensorlfow:增加或者减小矩阵维度的实现
May 22 Python
在Python3.74+PyCharm2020.1 x64中安装使用Kivy的详细教程
Aug 07 Python
Python使用内置函数setattr设置对象的属性值
Oct 16 Python
Python中openpyxl实现vlookup函数的实例
Oct 28 Python
Django数据模型中on_delete使用详解
Nov 30 Python
python 闭包函数详细介绍
Apr 19 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
ajax缓存问题解决途径
2006/12/06 PHP
php中Ctype函数用法详解
2014/12/09 PHP
CI分页类首页、尾页不显示的解决方法
2016/03/28 PHP
ie和firefox中img对象区别的困惑
2006/12/27 Javascript
让浏览器非阻塞加载javascript的几种方法小结
2011/04/25 Javascript
js字符串的各种格式的转换 ToString,Format
2011/08/08 Javascript
js触发onchange事件的方法说明
2014/03/08 Javascript
将form表单中的元素转换成对象的方法适用表单提交
2014/05/02 Javascript
鼠标悬浮显示二级菜单效果的jquery实现
2014/10/29 Javascript
JavaScript中的alert()函数使用技巧详解
2014/12/29 Javascript
jQuery预加载图片常用方法
2015/06/15 Javascript
Javascript实现的SHA-256加密算法完整实例
2016/02/02 Javascript
jquery+ajax实现直接提交表单实例分析
2016/06/17 Javascript
使用jQuery调用XML实现无刷新即时聊天
2016/08/07 Javascript
实现easyui的datagrid导出为excel的示例代码
2016/11/10 Javascript
javascript事件的绑定基础实例讲解(34)
2017/02/14 Javascript
angularjs实现猜大小功能
2017/10/23 Javascript
JavaScript数组基于交换的排序示例【冒泡排序】
2018/07/21 Javascript
深入理解Vue父子组件生命周期执行顺序及钩子函数
2018/08/12 Javascript
JavaScript中join()、splice()、slice()和split()函数用法示例
2018/08/24 Javascript
vue中的循环对象属性和属性值用法
2020/09/04 Javascript
浅谈vue在html中出现{{}}的原因及解决方式
2020/11/16 Javascript
[01:13]DOTA2群星解读国服召集令 一起说出回归的理由
2013/07/17 DOTA
matplotlib 纵坐标轴显示数据值的实例
2018/05/25 Python
Python基于Opencv来快速实现人脸识别过程详解(完整版)
2019/07/11 Python
python中open函数的基本用法示例
2019/09/07 Python
css3实现背景模糊的三种方式(小结)
2020/05/15 HTML / CSS
HTML5 Canvas之测试浏览器是否支持Canvas的方法
2015/01/01 HTML / CSS
2014全国两会大学生学习心得体会
2014/03/10 职场文书
化工工艺设计求职信
2014/06/25 职场文书
一份恶作剧的检讨书
2014/09/13 职场文书
乡镇2014法制宣传日活动总结
2014/11/01 职场文书
乡镇安全生产月活动总结
2015/05/08 职场文书
2015暑假实习报告范文
2015/07/13 职场文书
公司备用金管理制度
2015/08/04 职场文书
聊聊基于pytorch实现Resnet对本地数据集的训练问题
2022/03/25 Python