这篇文章给大家分享的是有关Python操作类属性的方法有哪些的内容。小编觉得挺实用的,因此分享给大家做个参考。一起跟随小编过来看看吧。
网站建设哪家好,找创新互联公司!专注于网页设计、网站建设、微信开发、微信平台小程序开发、集团企业网站建设等服务项目。为回馈新老客户创新互联还提供了奉贤免费建站欢迎大家使用!
属性的定义:python中的属性其实是普通方法的衍生。
操作类属性有三种方法:
1.使用@property装饰器操作类属性。 2.使用类或实例直接操作类属性(例如:obj.name,obj.age=18,del obj.age) 3.使用python内置函数操作属性。
属性存在的意义:
1、访问属性时可以制造出和访问字段完全相同的假象,属性由方法衍生而来,如果Python中没有属性,方法完全可以代替其功能。
2、定义属性可以动态获取某个属性值,属性值由属性对应的方式实现,应用更灵活。
3、可以制定自己的属性规则,用于防止他人随意修改属性值。
下面详细介绍三种操作类属性的方法:
1.使用@property装饰器操作类属性。
定义时,在普通方法的基础上添加@property装饰器;属性仅有一个self参数,调用时无需括号;
优点:
1) @property装饰器可以实现其他语言所拥有的getter,setter和deleter的功能(例如实现获取,设置,删除隐藏的属性)
2) 通过@property装饰器可以对属性的取值和赋值加以控制,提高代码的稳定性。
实例代码1:
#encoding=utf-8 class Goods(): #新式类 @property def price(self): #查看属性值 print ('@property ') @price.setter #修改、设置属性 def price(self, value): print ('@price.setter' ) @price.deleter #删除属性 def price(self): print ('@price.deleter') obj = Goods(50) obj.price # 自动执行 @property 修饰的 price 方法,并获取方法的返回值 obj.price = 2000 # 自动执行 @price.setter 修饰的 price 方法,并将2000赋值给方法的参数 del obj.price # 自动执行 @price.deleter 修饰的 price 方法 结果输出: @property @price.setter @price.deleter
感谢各位的阅读!关于Python操作类属性的方法有哪些就分享到这里了,希望以上内容可以对大家有一定的帮助,让大家可以学到更多知识。如果觉得文章不错,可以把它分享出去让更多的人看到吧!