python 中 property 属性的讲解及应用
Python中property属性的功能是:property属性内部进行一系列的逻辑计算,最终将计算结果返回
property属性的有两种方式:
装饰器 即:在方法上应用装饰器
类属性 即:在类中定义值为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 属性的讲解及应用相关推荐
- python 基础教程:对 property 属性的讲解及用法
Python中property属性的功能是:property属性内部进行一系列的逻辑计算,最终将计算结果返回 property属性的有两种方式: 装饰器 即:在方法上应用装饰器 类属性 即:在类中定义 ...
- python中property方法有用_python中@property和property函数常见使用方法示例
本文实例讲述了python中@property和property函数常见使用方法.分享给大家供大家参考,具体如下: 1.基本的@property使用,可以把函数当做属性用 class Person(o ...
- python的property用法_在python中property怎样使用-百度经验
在python中property可以使类中的方法变为类中的属性一样来使用,使得类中的属性值不易暴露,更加安全,那么在python中property怎样使用呢?下面小编就带大家来看看详细的教程! 工具/ ...
- python中property函数_python 邮件表格Python中property函数用法实例分析
本文实例讲述了Python中property函数用法.分享给大家供大家参考,具体如下: 通常我们在访问和赋值属性的时候,都是在直接和类(实例的)的__dict__打交道,或者跟数据描述符等在打交道.但 ...
- 如何在Python中读取属性文件?
We can use jproperties module to read properties file in Python. A properties file contains key-valu ...
- python isdigit和isnumeric区别_isdigit()、isdecimal()和isnumeric python中区别【详细讲解】...
今天爱分享给大家带来isdigit().isdecimal()和isnumeric python中区别[详细讲解],希望能够帮助到大家. 1.函数介绍 isdecimal(...) | S.isdec ...
- isnumeric用法python_isdigit()、isdecimal()和isnumeric python中区别【详细讲解】
今天爱分享给大家带来isdigit().isdecimal()和isnumeric python中区别[详细讲解],希望能够帮助到大家. 1.函数介绍 isdecimal(...) | S.isdec ...
- python的objectproperty,python中property(lambda self: object())简单解释,,最后4行lambda
python中property(lambda self: object())简单解释,,最后4行lambda 最后4行lambda.问题是:如何运作?它们的含义和结果是什么?您能否以简单的方式显示该声 ...
- python集合的概念_用Python中的集合Set讲解演示高一数学集合的概念
数学编程不分家,用Python可以方便的表示高中数学知识.现在以集合为例进行讲解,高一数学设计集的概念,讲解了交并补的相关知识,用Python中的集合类型可以方便的表示.同时可以借助数学知识更好的理解 ...
最新文章
- 从C语言的角度重构数据结构系列(七)-数据结构堆知识求解数据流中的第K大元素
- POPUP_TO_CONFIRM_WITH_MESSAGE
- 主机动手系列 — 怎么管理Suse Linux
- LINUX ORACLE 启动与关闭
- 用线程实现动态改变图标
- 使用jQuery实现全选、全不选、 反选(button)
- [转载] 利用python对csv文件进行简单的数据分析
- tensorflow tensorboard summary的工作特点
- mockserver使用
- instagram下载_Instagram Raider可让您轻松下载Instagram图像和视频
- 网站ssl证书错误是为什么?要怎么解决ssl证书错误
- idou老师教你学Istio: 如何用Istio实现K8S Egress流量管理
- 基于Hexo和Github搭建博客
- 2019年最新网盘搜索引擎汇总
- 用python简单入门写糖葫芦!
- 亿百特E22 lora模块使用教程
- matrix calculator
- Android内存检测工具系列工具集
- 解读“三十而立,四十不惑”
- 集创赛备赛:Robei八角板7020简介