python中@property和property函数常见使用方法示例
本文实例讲述了python中@property和property函数常见使用方法。分享给大家供大家参考,具体如下:
1、基本的@property使用,可以把函数当做属性用
classPerson(object): @property defget_name(self): print('我叫xxx') defmain(): person=Person() person.get_name if__name__=='__main__': main()
运行结果:
我叫xxx
2、@property的set,deleter,get
classGoods(object): @property defprice(self): print('@property') @price.setter defprice(self,value): print('@price.setter:'+str(value)) @price.deleter defprice(self): print('@price.deleter') obj=Goods() obj.price=50 obj.price delobj.price
运行结果:
@price.setter:50
@property
@price.deleter
3、@propertydemo
classGoods(object): def__init__(self): #原价 self.original_price=100 #折扣 self.discount=0.8 @property defprice(self): #实际价格=原价*折扣 new_price=self.original_price*self.discount returnnew_price @price.setter defprice(self,value): self.original_price=value @price.deleter defprice(self): delself.original_price obj=Goods() obj.price obj.price=200 delobj.price
4、property函数使用
classFoo(object): defget_name(self): print('get_name') return'laowang' defset_name(self,value): '''必须两个参数''' print('set_name') return'setvalue'+value defdel_name(self): print('del_name') return'laowang' NAME=property(get_name,set_name,del_name,'description.') obj=Foo() obj.NAME#调用get方法 obj.NAME='alex'#调用set方法 desc=Foo.NAME.__doc__#调用第四个描述 print(desc) delobj.NAME#调用第三个删除方法
运行结果:
get_name
set_name
description.
del_name
5、property函数操作私有属性的get和set方法
classPerson(object): def__init__(self,age): self.__age=age defset_age(self,value): self.__age=value defget_age(self): returnself.__age AGE=property(get_age,set_age) person=Person(15) person.AGE=20 print(str(person.AGE))
运行结果:
20
更多关于Python相关内容感兴趣的读者可查看本站专题:《Python面向对象程序设计入门与进阶教程》、《Python数据结构与算法教程》、《Python函数使用技巧总结》、《Python字符串操作技巧汇总》、《Python编码操作技巧总结》及《Python入门与进阶经典教程》
希望本文所述对大家Python程序设计有所帮助。