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程序设计有所帮助。