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时间戳与时间字符串互相转换实例代码
Nov 28 Python
在Docker上开始部署Python应用的教程
Apr 17 Python
python Pandas 读取txt表格的实例
Apr 29 Python
Django实现登录随机验证码的示例代码
Jun 20 Python
python提取包含关键字的整行数据方法
Dec 11 Python
详解opencv Python特征检测及K-最近邻匹配
Jan 21 Python
python 判断三个数字中的最大值实例代码
Jul 24 Python
使用Python爬虫库requests发送表单数据和JSON数据
Jan 25 Python
Python3 操作 MySQL 插入一条数据并返回主键 id的实例
Mar 02 Python
Mysql数据库反向生成Django里面的models指令方式
May 18 Python
详解Open Folder as PyCharm Project怎么添加的方法
Dec 29 Python
pytorch model.cuda()花费时间很长的解决
Jun 01 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
40年前的这部特摄片恐龙特级克塞号80后的共同回忆
2020/03/08 日漫
PHP开发入门教程之面向对象
2006/12/05 PHP
php str_pad 函数使用详解
2009/01/13 PHP
CodeIgniter实现从网站抓取图片并自动下载到文件夹里的方法
2015/06/17 PHP
四个常见html网页乱码问题及解决办法
2015/09/08 PHP
详谈PHP程序Laravel 5框架的优化技巧
2016/07/18 PHP
JavaScript Base64编码和解码,实现URL参数传递。
2006/09/18 Javascript
EasyUI中的tree用法介绍
2011/11/01 Javascript
关于URL中的特殊符号使用介绍
2011/11/03 Javascript
jQuery Ajax提交表单查询获得数据实例代码
2012/09/19 Javascript
extjs表格文本启用选择复制功能具体实现
2013/10/11 Javascript
jquery如何扑捉回车键触发的事件
2014/04/24 Javascript
浅谈利用JavaScript进行的DDoS攻击原理与防御
2015/06/04 Javascript
javascript函数式编程程序员的工具集
2015/10/11 Javascript
JavaScript中解决多浏览器兼容性23个问题的快速解决方法
2016/05/19 Javascript
轻松掌握JavaScript装饰者模式
2016/08/27 Javascript
Angularjs中三种数据的绑定策略(“@”,“=”,“&amp;”)
2016/12/23 Javascript
浅谈Node.js爬虫之网页请求模块
2018/01/11 Javascript
js实现一个简易计算器
2020/03/30 Javascript
解决vue 给window添加和移除resize事件遇到的坑
2020/07/21 Javascript
[01:19]2014DOTA2国际邀请赛 采访TITAN战队ohaiyo 能赢DK很幸运
2014/07/12 DOTA
[07:48]DOTA2上海特级锦标赛主赛事首日RECAP
2016/03/04 DOTA
python格式化字符串实例总结
2014/09/28 Python
Python里disconnect UDP套接字的方法
2015/04/23 Python
基于Python实现文件大小输出
2016/01/11 Python
python线程、进程和协程详解
2016/07/19 Python
Python构建网页爬虫原理分析
2017/12/19 Python
基于python调用psutil模块过程解析
2019/12/20 Python
经典婚礼主持开场白
2014/03/13 职场文书
房屋出租协议书
2014/04/10 职场文书
科技之星事迹材料
2014/06/02 职场文书
2015个人年度工作总结范文
2015/05/28 职场文书
军训后的感想
2015/08/07 职场文书
用Python写一个简易版弹球游戏
2021/04/13 Python
Python基础之赋值,浅拷贝,深拷贝的区别
2021/04/30 Python
Go timer如何调度
2021/06/09 Golang