博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
python 中 property 属性的讲解及应用
阅读量:6705 次
发布时间:2019-06-25

本文共 1433 字,大约阅读时间需要 4 分钟。

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

property属性的有两种方式:

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

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

装饰器:

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

  class Goods(object):   def __init__(self):   # 原价   self.original_price = 100   # 折扣   self.discount = 0.8   @property   def price(self):   # 实际价格 = 原价 * 折扣   new_price = self.original_price * self.discount   return new_price   @price.setter   def price(self, value):   self.original_price = value   @price.deleter   def price(self):   del self.original_price   obj = Goods()   obj.price # 获取商品价格   obj.price = 200 # 修改商品原价   del obj.price # 删除商品原价 类属性

  property方法中有个四个参数

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

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

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

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

    class Goods(object):     def __init__(self):     # 原价     self.original_price = 100     # 折扣     self.discount = 0.8     def get_price(self):     # 实际价格 = 原价 * 折扣     new_price = self.original_price * self.discount     return new_price     def set_price(self, value):     self.original_price = value     def del_price(self):     del self.original_price     PRICE = property(get_price, set_price, del_price, '价格属性描述...')     obj = Goods()     obj.PRICE # 获取商品价格     obj.PRICE = 200 # 修改商品原价     del obj.PRICE # 删除商品原价
 

转载于:https://www.cnblogs.com/skaarl/p/9386376.html

你可能感兴趣的文章
saltstack 分组
查看>>
如何删除已安装的Windows服务
查看>>
DAX函数大全
查看>>
高可用mongodb集群的学习记录(二mongodb主从配置)
查看>>
计算天-时-分
查看>>
接口规范 3.应用相关接口
查看>>
Android_bug之Default Activity not found
查看>>
大数据||Hadoop分布式部署虚拟机
查看>>
python 十进制转换十六进制 (ip地址转换MAC地址)
查看>>
centos7.x之yum安装zabbix
查看>>
CMD下启动与关闭程序
查看>>
Linux存储管理(3)
查看>>
linux的txt转为windows的txt
查看>>
解决低权限用户的screen Cannot open your terminal '/dev/pts/1'问题
查看>>
美团点评开源 SQL 优化工具 SQLAdvisor 测试报告
查看>>
只用200行Go代码写一个自己的区块链!
查看>>
CentOS6.5环境 安装Keepalived和高可用服务相关参数说明
查看>>
Ansible 二(新手上路)
查看>>
国家级大数据工程研究中心落户京东
查看>>
gitlab 代码控制
查看>>