Python中property属性的功能是:property属性内部进行一系列的逻辑计算,最终将计算结果返回

property属性的有两种方式:

  1. 装饰器 即:在方法上应用装饰器

  2. 类属性 即:在类中定义值为property对象的类属性

装饰器:

装饰器类有三种访问方式,并分别对应了三个被@property、@方法名.setter、@方法名.deleter修饰的方法,定义为对同一个属性:获取、修改、删除

class Goods(object):def __init__(self):# 原价self.original_price = 100# 折扣self.discount = 0.8@propertydef price(self):# 实际价格 = 原价 * 折扣new_price = self.original_price * self.discountreturn new_price@price.setterdef price(self, value):self.original_price = value@price.deleterdef price(self):del self.original_priceobj = Goods()
obj.price         # 获取商品价格
obj.price = 200   # 修改商品原价
del obj.price     # 删除商品原价

类属性

property方法中有个四个参数

  • 第一个参数是方法名,调用 对象.属性 时自动触发执行方法,对应获取功能

  • 第二个参数是方法名,调用 对象.属性 = XXX 时自动触发执行方法,对应修改功能

  • 第三个参数是方法名,调用 del 对象.属性 时自动触发执行方法,对应删除功能

  • 第四个参数是字符串,调用 对象.属性.__doc__,此参数是该属性的描述信息

'''
遇到问题没人解答?小编创建了一个Python学习交流QQ群:579817333
寻找有志同道合的小伙伴,互帮互助,群里还有不错的视频学习教程和PDF电子书!
'''
class Goods(object):def __init__(self):# 原价self.original_price = 100# 折扣self.discount = 0.8def get_price(self):# 实际价格 = 原价 * 折扣new_price = self.original_price * self.discountreturn new_pricedef set_price(self, value):self.original_price = valuedef del_price(self):del self.original_pricePRICE = property(get_price, set_price, del_price, '价格属性描述...')obj = Goods()
obj.PRICE         # 获取商品价格
obj.PRICE = 200   # 修改商品原价
del obj.PRICE     # 删除商品原价

python 中 property 属性的讲解及应用相关推荐

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

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

  2. python中property方法有用_python中@property和property函数常见使用方法示例

    本文实例讲述了python中@property和property函数常见使用方法.分享给大家供大家参考,具体如下: 1.基本的@property使用,可以把函数当做属性用 class Person(o ...

  3. python的property用法_在python中property怎样使用-百度经验

    在python中property可以使类中的方法变为类中的属性一样来使用,使得类中的属性值不易暴露,更加安全,那么在python中property怎样使用呢?下面小编就带大家来看看详细的教程! 工具/ ...

  4. python中property函数_python 邮件表格Python中property函数用法实例分析

    本文实例讲述了Python中property函数用法.分享给大家供大家参考,具体如下: 通常我们在访问和赋值属性的时候,都是在直接和类(实例的)的__dict__打交道,或者跟数据描述符等在打交道.但 ...

  5. 如何在Python中读取属性文件?

    We can use jproperties module to read properties file in Python. A properties file contains key-valu ...

  6. python isdigit和isnumeric区别_isdigit()、isdecimal()和isnumeric python中区别【详细讲解】...

    今天爱分享给大家带来isdigit().isdecimal()和isnumeric python中区别[详细讲解],希望能够帮助到大家. 1.函数介绍 isdecimal(...) | S.isdec ...

  7. isnumeric用法python_isdigit()、isdecimal()和isnumeric python中区别【详细讲解】

    今天爱分享给大家带来isdigit().isdecimal()和isnumeric python中区别[详细讲解],希望能够帮助到大家. 1.函数介绍 isdecimal(...) | S.isdec ...

  8. python的objectproperty,python中property(lambda self: object())简单解释,,最后4行lambda

    python中property(lambda self: object())简单解释,,最后4行lambda 最后4行lambda.问题是:如何运作?它们的含义和结果是什么?您能否以简单的方式显示该声 ...

  9. python集合的概念_用Python中的集合Set讲解演示高一数学集合的概念

    数学编程不分家,用Python可以方便的表示高中数学知识.现在以集合为例进行讲解,高一数学设计集的概念,讲解了交并补的相关知识,用Python中的集合类型可以方便的表示.同时可以借助数学知识更好的理解 ...

最新文章

  1. 从C语言的角度重构数据结构系列(七)-数据结构堆知识求解数据流中的第K大元素
  2. POPUP_TO_CONFIRM_WITH_MESSAGE
  3. 主机动手系列 — 怎么管理Suse Linux
  4. LINUX ORACLE 启动与关闭
  5. 用线程实现动态改变图标
  6. 使用jQuery实现全选、全不选、 反选(button)
  7. [转载] 利用python对csv文件进行简单的数据分析
  8. tensorflow tensorboard summary的工作特点
  9. mockserver使用
  10. instagram下载_Instagram Raider可让您轻松下载Instagram图像和视频
  11. 网站ssl证书错误是为什么?要怎么解决ssl证书错误
  12. idou老师教你学Istio: 如何用Istio实现K8S Egress流量管理
  13. 基于Hexo和Github搭建博客
  14. 2019年最新网盘搜索引擎汇总
  15. 用python简单入门写糖葫芦!
  16. 亿百特E22 lora模块使用教程
  17. matrix calculator
  18. Android内存检测工具系列工具集
  19. 解读“三十而立,四十不惑”
  20. 集创赛备赛:Robei八角板7020简介

热门文章

  1. spring之AOP(转)
  2. 邓侃:深度强化学习“深”在哪里?
  3. scjp考试准备 - 2 - 逻辑运算及类型转换
  4. python 类中方法的动态特性
  5. 【AaronYang风格】第一篇 CodeFirst 初恋
  6. Window密码恢复的方法(转)
  7. 微軟 ASP.NET 2.0 的 AJAX 利劍 ~ Atlas Framework
  8. 【MM配置】Purchasing 采购配置
  9. 增强——BTE流程简介
  10. ABAP 字符串操作