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之有容乃大的list(3)
Sep 15 Python
Linux环境下MySQL-python安装过程分享
Feb 02 Python
Python实现在线程里运行scrapy的方法
Apr 07 Python
Python ValueError: invalid literal for int() with base 10 实用解决方法
Jun 21 Python
Python中的Descriptor描述符学习教程
Jun 02 Python
简单谈谈Python中函数的可变参数
Sep 02 Python
Python之os操作方法(详解)
Jun 15 Python
Python实现的当前时间多加一天、一小时、一分钟操作示例
May 21 Python
基于Django URL传参 FORM表单传数据 get post的用法实例
May 28 Python
用Python shell简化开发
Aug 08 Python
读取nii或nii.gz文件中的信息即输出图像操作
Jul 01 Python
Python类型转换的魔术方法详解
Dec 23 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桌面中心(二) 数据库写入
2007/03/11 PHP
PHP类与对象中的private访问控制的疑问
2012/11/01 PHP
PHP随机生成唯一HASH值自定义函数
2015/04/20 PHP
深入理解 PHP7 中全新的 zval 容器和引用计数机制
2018/10/15 PHP
一个简单的js渐显(fadeIn)渐隐(fadeOut)类
2010/06/19 Javascript
关于Jquery操作Cookie取值错误的解决方法
2013/08/26 Javascript
详细介绍8款超实用JavaScript框架
2013/10/25 Javascript
JavaScript中常见获取元素的方法汇总
2015/03/04 Javascript
jquery实现的3D旋转木马特效代码分享
2015/08/25 Javascript
jQuery ajax时间差导致的变量赋值问题分析
2016/01/22 Javascript
js实现浏览器倒计时跳转页面效果
2016/08/12 Javascript
浅析JavaScript中var that=this
2017/02/17 Javascript
React Native验证码倒计时工具类分享
2017/10/24 Javascript
详解easyui基于 layui.laydate日期扩展组件
2018/07/18 Javascript
layer弹出层父子页面事件相互调用方法
2018/08/17 Javascript
详解React之key的使用和实践
2018/09/29 Javascript
微信小程序表单验证插件WxValidate的二次封装功能(终极版)
2019/09/03 Javascript
JS实现简单tab选项卡切换
2019/10/25 Javascript
详解vue-flickity的fullScreen功能实现
2020/04/07 Javascript
Python自定义函数的创建、调用和函数的参数详解
2014/03/11 Python
python实现从网络下载文件并获得文件大小及类型的方法
2015/04/28 Python
python类和继承用法实例
2015/07/07 Python
pip install urllib2不能安装的解决方法
2018/06/12 Python
Python3 pandas 操作列表实例详解
2019/09/23 Python
Python实现串口通信(pyserial)过程解析
2019/09/25 Python
wxpython绘制音频效果
2019/11/18 Python
Django-xadmin后台导入json数据及后台显示信息图标和主题更改方式
2020/03/11 Python
用Python爬取LOL所有的英雄信息以及英雄皮肤的示例代码
2020/07/13 Python
台湾生鲜宅配:大口市集
2017/10/14 全球购物
美国运动鞋和服装网上商店:YCMC
2018/09/15 全球购物
面向游戏玩家和书呆子的极客订阅盒:Loot Crate
2020/11/25 全球购物
员工拾金不昧表扬信
2014/01/09 职场文书
工作求职自荐信
2014/06/13 职场文书
2015年行政助理工作总结
2015/04/30 职场文书
2015年食品安全工作总结
2015/05/15 职场文书
九大龙王魂骨,山龙王留下躯干骨,榜首死的最憋屈(被捏碎)
2022/03/18 国漫