python property使用

  • python==3.7

@property把方法变成属性调用
self._price是一个私有变量,如果想在绑定属性时做一些限制,可以实现一个set方法

class Car(object):def __init__(self, price=1):self._price = pricedef get_price(self):return self._pricedef set_prices(self, value):if value < 10:raise RuntimeError("must < 10")self._price = valueif __name__ == '__main__':c = Car(10)print(c.get_price())c.set_prices(14)print(c.get_price())

访问变量时调c.get_price()
设置变量时调c.set_prices(14)

@property把方法变成属性调用
可以把上面的绑定方式改成 c.price == 13

class Car(object):def __init__(self, price=1):self._price = price# 把方法变成属性调用@propertydef price(self):return self._price# 属性price允许修改@price.setterdef price(self, value):if value < 10:raise RuntimeError("must < 10")self._price = valueif __name__ == '__main__':c = Car(10)c.price = 12print(c.price)

@price.setter 表示price可以修改

python property使用相关推荐

  1. python property内建函数的介绍

    为什么80%的码农都做不了架构师?>>>    函数property的基本功能就是把类中的方法当作属性来访问,下面以一个有意思的例子介绍一下: 假如有一只猫,它忘了它喜欢吃什么,下面 ...

  2. python @property

    在绑定属性时,如果我们直接把属性暴露出去,虽然写起来很简单,但是,没办法检查参数,导致可以把成绩随便改: s = Student() s.score = 9999 这显然不合逻辑.为了限制score的 ...

  3. python property理解

    一般情况下我这样使用property: @property def foo(self):return self._foo# 下面的两个decrator由@property创建 @foo.setter ...

  4. python property作用_python中@property的作用和getter setter的解释

    @property作用: python的@property是python的一种装饰器,是用来修饰方法的. 我们可以使用@property装饰器来创建只读属性,@property装饰器会将方法转换为相同 ...

  5. python property函数_Python内置函数property()如何使用

    代码 class Shuxing(): def __init__(self, size = 10): self.size = size def getSize(self): print('getSiz ...

  6. Python·@property属性

    一.property属性 property属性可以用来给属性添加约束,比如温度属性,我们不允许低于-273度:成绩属性,我们不允许0分以下等等.而且使用property属性,将来修改约束条件的时候也很 ...

  7. Python property函数:定义属性

    如果为 Python 类定义了 getter.setter 等访问器方法,则可使用 property() 函数将它们定义成属性(相当于实例变量). property() 函数的语法格式如下: prop ...

  8. Python @property 详解

    Python 有一个概念叫做 property,它能让你在 Python 的面向对象编程中轻松不少.在了解它之前,我们先看一下为什么 property 会被提出. 一个简单的例子 比如说你要创建一个温 ...

  9. Python @property 用法

    本文整理自<Effective Python 编写高质量 Python 代码的 59 个有效方法>第 29 条:用纯属性取代 get 和 set 方法. Python 类 public 属 ...

  10. python @property

    @property 可以将python定义的函数"当做"属性访问,从而提供更加友好访问方式,但是有时候setter/getter也是需要的,我们视具体情况吧 请注意以下代码场景: ...

最新文章

  1. 《评人工智能如何走向新阶段》后记(再续9)
  2. 基于容器宽度的字体缩放
  3. python 学习总结6 前端学习2
  4. Java操作SQL Server数据库
  5. Java Calendar类知识点总结
  6. 【impala学习之一】impala
  7. 一个MYSQL PDO相对完整且功能强大的封装类
  8. redis cluster节点挂掉后_深入浅出—Redis集群的相关详解
  9. scratch编程作品展示
  10. 超全树叶 叶子免抠元素素材网站整理
  11. php对图片反色处理
  12. 相机计算坐标公式_相机位姿估计3:根据两幅图像的位姿估计结果求某点的世界坐标...
  13. U盘html文件恢复不了,u盘文件突然不见了怎么恢复?恢复小技巧来了
  14. 总论点和分论点_您将面对与他人谈论隐私的4个常见论点
  15. STM32芯片的ADC引脚的识别与选择
  16. 新生课题研究---人工智能
  17. Python-维度dim的定义及其理解使用
  18. JS if 水仙花数 游乐园门票计算 闰年 三元运算符 for循环 算法 穷举法 While 拔萝卜 等差数 随机数函数random 区间数 猜数字
  19. 【趣味程序】输入一行字符,统计其中有多少个单词,单词之间用空格隔开
  20. xml配置php虚拟路径,apache增加虚拟路径和映射中文路径

热门文章

  1. 【YOLO家族】【论文翻译】YOLO 9000 /YOLO V2
  2. 七、数值微分与数值积分
  3. vue routes路由
  4. 第四季-专题20-SPI驱动程序设计
  5. C++--第18课 - 继承与多态 - 下
  6. PouchContainer 开源版本及内部版本一致性实践
  7. [译] 为什么给设计定义 UX、UI、CX、IA、IxD 和其他类型的头衔是愚蠢的行为
  8. JAVA-数据库之MySQL与JDBC驱动下载与安装
  9. Timeline Storyteller 现已加入自定义图表库
  10. iOS上绘制自然的签名-b