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实现各种排序算法的代码示例总结
Dec 11 Python
Python中使用多进程来实现并行处理的方法小结
Aug 09 Python
使用Python和xlwt向Excel文件中写入中文的实例
Apr 21 Python
Django中在xadmin中集成DjangoUeditor过程详解
Jul 24 Python
Django用户认证系统 Web请求中的认证解析
Aug 02 Python
python循环输出三角形图案的例子
Nov 22 Python
在python中利用try..except来代替if..else的用法
Dec 19 Python
解决python DataFrame 打印结果不换行问题
Apr 09 Python
Python批量处理csv并保存过程解析
May 16 Python
python 字符串的驻留机制及优缺点
Jun 19 Python
python 实现"神经衰弱"翻牌游戏
Nov 09 Python
pytorch中F.avg_pool1d()和F.avg_pool2d()的使用操作
May 22 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登录(ajax提交数据和后台校验)实例分享
2016/12/29 PHP
[原创]php token使用与验证示例【测试可用】
2017/08/30 PHP
静态的动态续篇之来点XML
2006/12/23 Javascript
jQuery 入门讲解1
2009/04/15 Javascript
Ext.get() 和 Ext.query()组合使用实现最灵活的取元素方式
2011/09/26 Javascript
通过AJAX的JS、JQuery两种方式解析XML示例介绍
2013/09/23 Javascript
JS 实现导航栏悬停效果(续2)
2013/09/24 Javascript
js 与 php 通过json数据进行通讯示例
2014/03/26 Javascript
jQuery实用技巧必备(中)
2015/11/03 Javascript
jquery实现全选、反选、获得所有选中的checkbox
2020/09/13 Javascript
详解nodejs与javascript中的aes加密
2016/05/22 NodeJs
jquery实现点击页面回到顶部
2016/11/23 Javascript
利用Angular.js编写公共提示模块的方法教程
2017/05/28 Javascript
利用vue.js把静态json绑定bootstrap的table方法
2018/08/28 Javascript
JS与SQL方式随机生成高强度密码示例
2018/12/29 Javascript
微信小程序导入Vant报错VM292:1 thirdScriptError的解决方法
2019/08/01 Javascript
java和js实现的洗牌小程序
2019/09/30 Javascript
JS工厂模式开发实践案例分析
2019/10/17 Javascript
Vue 2.0双向绑定原理的实现方法
2019/10/23 Javascript
js实现数字跳动到指定数字
2020/08/25 Javascript
vue或react项目生产环境去掉console.log的操作
2020/09/02 Javascript
[04:29]DOTA2亚洲邀请赛小组赛第一日 TOP10精彩集锦
2015/02/01 DOTA
简单的Apache+FastCGI+Django配置指南
2015/07/22 Python
numpy中索引和切片详解
2017/12/15 Python
浅析Python数据处理
2018/05/02 Python
老生常谈python中的重载
2018/11/11 Python
Python 将json序列化后的字符串转换成字典(推荐)
2020/01/06 Python
解决pip install psycopg2出错问题
2020/07/09 Python
Python约瑟夫生者死者小游戏实例讲解
2021/01/04 Python
CSS3教程(2):网页边框半径和网页圆角
2009/04/02 HTML / CSS
巧克力领导品牌瑞士莲美国官网:Lindt Chocolate美国
2016/08/25 全球购物
美国经典刺绣和字母儿童服装特卖:Smocked Auctions
2018/07/16 全球购物
G-Form护具官方网站:美国运动保护装备
2019/09/04 全球购物
综治维稳工作汇报
2014/10/27 职场文书
2021年国漫热度排行前十,完美世界上榜,第四是美国动画作品
2022/03/18 国漫
bose降噪耳机音能消除人声吗
2022/04/19 数码科技