Python @property使用方法解析


Posted in Python onSeptember 17, 2019

1. 作用

将类方法转换为类属性,可以用 . 直接获取属性值或者对属性进行赋值

2.实现方式

使用property类来实现,也可以使用property装饰器实现,二者本质是一样的。多数情况下用装饰器实现。

class Student(object):
  @property
  def score(self):
    return self._score
  @score.setter
  def score(self, value):
    if not isinstance(value ,int):
      raise ValueError('分数必须是整数')
    if value <0 or value>100:
      raise ValueError('分数必须0-100之间')
    self._score = value
student = Student()student.score = 65print(student.score)65

score()方法上增加@property装饰器,等同于score= property(fget=score),将score赋值为property的实例。

所以,被装饰后的score,已经不是这个实例方法score了,而是property的实例score。

以上就是本文的全部内容,希望对大家的学习有所帮助,也希望大家多多支持三水点靠木。

Python 相关文章推荐
python查找目录下指定扩展名的文件实例
Apr 01 Python
在Python的Django框架中更新数据库数据的方法
Jul 17 Python
Python随手笔记第一篇(2)之初识列表和元组
Jan 23 Python
详解python执行shell脚本创建用户及相关操作
Apr 11 Python
Python实现快速排序的方法详解
Oct 25 Python
python 实现将Numpy数组保存为图像
Jan 09 Python
python3.8与pyinstaller冲突问题的快速解决方法
Jan 16 Python
python torch.utils.data.DataLoader使用方法
Apr 02 Python
python用opencv完成图像分割并进行目标物的提取
May 25 Python
OpenCV+python实现实时目标检测功能
Jun 24 Python
Python logging模块handlers用法详解
Aug 14 Python
python3.9之你应该知道的新特性详解
Apr 29 Python
Python爬取知乎图片代码实现解析
Sep 17 #Python
Python读写文件模式和文件对象方法实例详解
Sep 17 #Python
Python爬取破解无线网络wifi密码过程解析
Sep 17 #Python
Python使用random模块生成随机数操作实例详解
Sep 17 #Python
python同时替换多个字符串方法示例
Sep 17 #Python
python 函数的缺省参数使用注意事项分析
Sep 17 #Python
Python 字符串、列表、元组的截取与切片操作示例
Sep 17 #Python
You might like
phpstorm配置Xdebug进行调试PHP教程
2014/12/01 PHP
PHP计算百度地图两个GPS坐标之间距离的方法
2015/01/09 PHP
ThinkPHP 模板引擎使用详解
2017/05/07 PHP
php安装扩展mysqli的实现步骤及报错解决办法
2017/09/23 PHP
JS+flash实现chrome和ie浏览器下同时可以复制粘贴
2013/09/22 Javascript
javascript十六进制及二进制转化的方法
2015/05/06 Javascript
深入浅析同源策略和跨域访问
2015/11/26 Javascript
JS根据浏览器窗口大小实时动态改变网页文字大小的方法
2016/02/25 Javascript
js中 计算两个日期间的工作日的简单实例
2016/08/08 Javascript
基于js中的原型、继承的一些想法
2016/08/10 Javascript
JS中用childNodes获取子元素换行会产生一个子元素
2016/12/08 Javascript
vue项目中做编辑功能传递数据时遇到问题的解决方法
2016/12/19 Javascript
jQuery EasyUI开发技巧总结
2017/09/26 jQuery
js用类封装pop弹窗组件
2017/10/08 Javascript
Bootstrap3.3.7导航栏下拉菜单鼠标滑过展开效果
2017/10/31 Javascript
jQuery实现的简单图片轮播效果完整示例
2018/02/08 jQuery
vue数组对象排序的实现代码
2018/06/20 Javascript
[00:58]2016年国际邀请赛勇士令状宣传片
2016/06/01 DOTA
正确理解python中的关键字“with”与上下文管理器
2017/04/21 Python
教你使用python实现微信每天给女朋友说晚安
2018/03/23 Python
python使用matplotlib模块绘制多条折线图、散点图
2020/04/26 Python
python单例模式原理与创建方法实例分析
2019/10/26 Python
Python文件路径名的操作方法
2019/10/30 Python
python常用排序算法的实现代码
2019/11/08 Python
django实现模型字段动态choice的操作
2020/04/01 Python
python可迭代对象去重实例
2020/05/15 Python
解决TensorFlow程序无限制占用GPU的方法
2020/06/30 Python
Python 实现RSA加解密文本文件
2020/12/30 Python
html2canvas把div保存图片高清图的方法示例
2018/03/05 HTML / CSS
2015年南京大屠杀纪念日活动总结
2015/03/24 职场文书
2016元旦晚会主持词开场白和结束语
2015/12/04 职场文书
2019年年中工作总结讲话稿模板
2019/03/25 职场文书
Vue中Object.assign清空数据报错的解决方案
2022/03/03 Vue.js
vue css 相对路径导入问题级踩坑记录
2022/06/05 Vue.js
win10此电脑打不开怎么办 win10双击此电脑无响应的解决办法
2022/07/23 数码科技
html网页引入svg图片的4种方式
2022/08/05 HTML / CSS