一、property属性

property属性可以用来给属性添加约束,比如温度属性,我们不允许低于-273度;成绩属性,我们不允许0分以下等等。而且使用property属性,将来修改约束条件的时候也很方便,可以在代码的调用方式不变的情况下改变结果。

python中使用property属性有两种方法。使用@property装饰器和使用property()函数。这里我们着重学习@property属性

二、@property属性

@property装饰器就是负责把一个方法变成属性调用的。如下实例就可以通过s.score来获得成绩,并且对score赋值之前做出了数据检查。

class Student(object):def __init__(self, score=0):self._score = score@property    def score(self):print("getting score")return self._score@score.setterdef score(self, value):print("setting score")if not isinstance(value, int):raise ValueError("score must be an integer!")           if value < 0 or value > 100:raise ValueError('score must between 0 ~ 100!')self._score = values = Student(60)
s.score
print("=====================")
s.score = 88
s.score

Python·@property属性相关推荐

  1. python 基础教程:对 property 属性的讲解及用法

    Python中property属性的功能是:property属性内部进行一系列的逻辑计算,最终将计算结果返回 property属性的有两种方式: 装饰器 即:在方法上应用装饰器 类属性 即:在类中定义 ...

  2. python 中 property 属性的讲解及应用

    Python中property属性的功能是:property属性内部进行一系列的逻辑计算,最终将计算结果返回 property属性的有两种方式: 装饰器 即:在方法上应用装饰器 类属性 即:在类中定义 ...

  3. Python中菱形继承的MRO顺序及property属性

    Python中菱形继承的MRO顺序及property属性 文章目录 Python中菱形继承的MRO顺序及property属性 一.Python中菱形继承的MRO顺序 1. 单独调用父类的方法 2. 多 ...

  4. python中的property_python中的property属性

    1. 什么是property属性 一种用起来像是使用的实例属性一样的特殊属性,可以对应于某个方法 # ############### 定义 ############### class Foo: def ...

  5. python提高——多继承、静态方法、类方法、property属性、魔法属性

    目录 1多继承 单独调用父类得方法 多继承中super调用父类的被重写的方法 单继承中super 2静态方法.类方法 2.1类属性.实例属性 2.2实例方法.静态方法和类方法 3property属性 ...

  6. Python零基础速成班-第10讲-Python面向对象编程(下),Property属性、特殊方法、设计模式、链表应用

    Python零基础速成班-第10讲-Python面向对象编程(下),Property属性.特殊方法.设计模式.链表应用 学习目标 面向对象编程 接上一讲:Property属性.特殊方法.设计模式 面向 ...

  7. python property setter_Python:动态属性 property setter 以及 __getattr__ 属性

    1. property 引言: -- 假设有这样一个需求,我们需要创建一个 User 类,并初始化 birthday 参数,之后根据 birthday 计算得到年龄: -- 我们设计下面的代码实现该需 ...

  8. Python高级——property属性

    property属性 1.property属性: 是一个提高开发者用户体验度的属性,可以将一个函数改造的像属性一样. 例: # 定义的时候像是一个函数 使用的时候和属性的方式是以样的 class Fo ...

  9. python静态属性@property、类方法@classmethod、静态方法@staticmethod和普通方法

    静态属性:即将类的函数通过@property属性封装,封装后实例调用该函数时,不再需要在函数后面加(),而是用类似调用数据属性的方式直接调用函数名称即可执行函数. 静态属性既可以访问类的属性,也可以访 ...

最新文章

  1. git 设置 key 到服务器,同步代码不需要输入用户名和密码
  2. Citrix VDI实战攻略之五:vDisk配置
  3. java表驱动法索引访问_表驱动法 - SegmentFault 思否
  4. 负margin的移位参考线
  5. mescroll上拉加载的实现
  6. Qt 第二步 熟悉文件结构组成(二)
  7. 搞懂静态变量static
  8. 数据结构——单链表的C++实现
  9. 信息学奥赛一本通 1129:统计数字字符个数 | OpenJudge NOI 1.7 01
  10. selenium+python,解决selenium弹出新页面,无法定位元素的问题(报错:Unable to locate element:元素)
  11. [转]如何学好windows c++编程 学习精髓(收集,整理)
  12. 计算机论文题目_基于java的毕业设计题目_50例
  13. EIDROS3.9学习(一)
  14. 一、基于workflow-core强势开发审批流【已成功流转50W笔单据】
  15. Ubuntu 20.04 系统自带中文输入法在PyCharm只能输入3个字母的问题
  16. JavaCV1.5.3版本FFmpegFrameGrabber初始化的时候加载时间长的解决方法
  17. 线程的8大基础知识(持续更新)第一章
  18. lua 5.3.5 使用pairs遍历table时, 遍历结果为什么是随机的
  19. python中字典的循环遍历的两种方式
  20. 计算机电缆zrdjypvp,阻燃计算机用电缆ZRDJYPVP

热门文章

  1. 吊打大厂:内核级安卓系统优化软件 | 雪豹速清app官网下载
  2. 射频:TD-LTE与FDD-LTE区别
  3. linux单片机用什么数据库,基于ARM-Linux的SQLite嵌入式数据库的研究 -单片机-电子工程世界网...
  4. 南开大学2019年高等代数考研试题讲解
  5. zepto和jquery
  6. 爬取DMP_ISV版(达摩盘服务商版)画像数据
  7. DDoS防御的8种方针详解
  8. java 如何初始化数组_java中初始化数组的三种方式分别是什么
  9. win7 下安装vs2010 pro 失败解决方法
  10. border渐变 ios_iOS实现颜色渐变