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实现冒泡,插入,选择排序简单实例
Aug 18 Python
Python使用xlrd读取Excel格式文件的方法
Mar 10 Python
浅析Python 中整型对象存储的位置
May 16 Python
轻松掌握python设计模式之策略模式
Nov 18 Python
Python 迭代器与生成器实例详解
May 18 Python
python实现批量修改图片格式和尺寸
Jun 07 Python
python numpy元素的区间查找方法
Nov 14 Python
Django 迁移、操作数据库的方法
Aug 02 Python
Python(PyS60)实现简单语音整点报时
Nov 18 Python
wxpython实现按钮切换界面的方法
Nov 19 Python
python3连接mysql获取ansible动态inventory脚本
Jan 19 Python
python语言是免费还是收费的?
Jun 15 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
Extended CHM PHP 语法手册之 DIY
2006/10/09 PHP
php 实现进制转换(二进制、八进制、十六进制)互相转换实现代码
2010/10/22 PHP
浅谈PHP中的错误处理和异常处理
2017/02/04 PHP
php进程daemon化的正确实现方法
2018/09/06 PHP
PHP信号处理机制的操作代码讲解
2019/04/19 PHP
js鼠标左右键 键盘值小结
2010/06/11 Javascript
javascript正则表达式中参数g(全局)的作用
2010/11/11 Javascript
Javascript中正则表达式的全局匹配模式分析
2011/04/26 Javascript
你必须知道的JavaScript 中字符串连接的性能的一些问题
2013/05/07 Javascript
使用jQuery UI的tooltip函数修饰title属性的气泡悬浮框
2013/06/24 Javascript
实用的Jquery选项卡TAB示例代码
2013/08/28 Javascript
js自动生成的元素与页面原有元素发生堆叠的解决方法
2014/09/04 Javascript
跟我学习javascript的全局变量
2015/11/16 Javascript
微信小程序 增、删、改、查操作实例详解
2017/01/13 Javascript
Node.js+Express+MySql实现用户登录注册功能
2017/07/10 Javascript
Angular4.x Event (DOM事件和自定义事件详解)
2018/10/09 Javascript
详解vue项目中使用token的身份验证的简单实践
2019/03/08 Javascript
如何优雅地取消 JavaScript 异步任务
2020/03/22 Javascript
JS常见错误(Error)及处理方案详解
2020/07/02 Javascript
让python json encode datetime类型
2010/12/28 Python
Google开源的Python格式化工具YAPF的安装和使用教程
2016/05/31 Python
利用python模拟sql语句对员工表格进行增删改查
2017/07/05 Python
python 表达式和语句及for、while循环练习实例
2017/07/07 Python
Python编写一个闹钟功能
2017/07/11 Python
Django 开发调试工具 Django-debug-toolbar使用详解
2019/07/23 Python
python实现测试工具(一)——命令行发送get请求
2020/10/19 Python
为智能设备设计个性化保护套网站:caseable
2017/01/05 全球购物
CHARLES & KEITH澳大利亚官网:新加坡时尚品牌
2019/01/22 全球购物
简历中自我评价分享
2013/10/09 职场文书
土木工程毕业生推荐信
2013/10/28 职场文书
校园安全教育广播稿
2014/02/17 职场文书
社区母亲节活动记录
2014/03/06 职场文书
中学教师暑期培训方案
2014/08/27 职场文书
解决redis sentinel 频繁主备切换的问题
2021/04/12 Redis
nginx安装以及配置的详细过程记录
2021/09/15 Servers
MySql统计函数COUNT的具体使用详解
2022/08/14 MySQL