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使用MySQLdb for Python操作数据库教程
Oct 11 Python
举例介绍Python中的25个隐藏特性
Mar 30 Python
Python编程实现二叉树及七种遍历方法详解
Jun 02 Python
Python基于回溯法子集树模板解决野人与传教士问题示例
Sep 11 Python
python3正则提取字符串里的中文实例
Jan 31 Python
Python 使用folium绘制leaflet地图的实现方法
Jul 05 Python
Python使用random模块生成随机数操作实例详解
Sep 17 Python
pyqt5 QScrollArea设置在自定义侧(任何位置)
Sep 25 Python
pandas中的ExcelWriter和ExcelFile的实现方法
Apr 24 Python
pyqt5 textEdit、lineEdit操作的示例代码
Aug 12 Python
Django CBV模型源码运行流程详解
Aug 17 Python
python 实现体质指数BMI计算
May 26 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
PHP 内存缓存加速功能memcached安装与用法
2009/09/03 PHP
PHP面向对象程序设计实例分析
2016/01/26 PHP
Zend Framework教程之Zend_Db_Table用法详解
2016/03/21 PHP
yii2 页面底部加载css和js的技巧
2016/04/21 PHP
深入浅析yii2-gii自定义模板的方法
2016/04/26 PHP
删除PHP数组中的重复元素的实现代码
2017/04/10 PHP
PHP与Web页面的交互示例详解二
2020/08/04 PHP
对象的类型:本地对象(1)
2006/12/29 Javascript
封装好的js判断操作系统与浏览器代码分享
2015/01/09 Javascript
javascript下拉列表菜单的实现方法
2015/11/18 Javascript
jquery基本选择器匹配多个元素的实现方法
2016/09/05 Javascript
基于JavaScript实现的折半查找算法示例
2017/04/14 Javascript
vue实现element-ui对话框可拖拽功能
2018/08/17 Javascript
koa2使用ejs和nunjucks作为模板引擎的使用
2018/11/27 Javascript
js脚本中执行java后台代码方法解析
2019/10/11 Javascript
JavaScript实现指定数量的并发限制的示例代码
2020/03/10 Javascript
react 不用插件实现数字滚动的效果示例
2020/04/14 Javascript
Vuex的热更替如何实现
2020/06/05 Javascript
jQuery+ThinkPHP实现图片上传
2020/07/23 jQuery
原生JavaScript实现五子棋游戏
2020/11/09 Javascript
[01:15:44]首部DOTA2纪录片今日23时全网上映
2014/03/19 DOTA
Python文件操作类操作实例详解
2014/07/11 Python
Mac下Supervisor进程监控管理工具的安装与配置
2014/12/16 Python
基于Python列表解析(列表推导式)
2018/06/23 Python
wtfPython—Python中一组有趣微妙的代码【收藏】
2018/08/31 Python
PyQt5响应回车事件的方法
2019/06/25 Python
CSS3的calc()做响应模式布局的实现方法
2017/09/06 HTML / CSS
使用Html5多媒体实现微信语音功能
2019/07/26 HTML / CSS
CHARLES & KEITH英国官网:新加坡时尚品牌
2018/07/04 全球购物
自荐信格式写作方法有哪些呢
2013/11/20 职场文书
审计专业自荐信范文
2014/04/21 职场文书
销售团队获奖感言
2014/08/14 职场文书
商务代表岗位职责
2015/02/15 职场文书
《搭石》教学反思
2016/02/18 职场文书
JavaWeb 入门篇:创建Web项目,Idea配置tomcat
2021/07/16 Java/Android
CentOS MySql8 远程连接实战
2022/04/19 MySQL