python中property使用
python中property使用
一、property使用方法一
1、测试代码
class TestProperty(object):
def init(self):
self.__num=0def setNum(self,newNum): self.__num = newNum def getNum(self): return self.__num #num will auto use getNum or setNum num = property(getNum,setNum)
t = TestProperty()
print(t.num)
t.num = 1000 # will auto use setNum print(t.num) # will auto uset
getNum
2、测试结果
3、结果分析及需要注意的事项
1》、property相当于是对函数getNum和setNum方法的封装,使用时无需关心getNum和setNum的实现,直接使用即可。
2》、t.num是调用getNum还是setNum会根据实际的场景来判断,如果是赋值的话就调用setNum,如果获取值得话就调用getNum。
3》、property中传入的是方法名字,方法不能带小括号。
二、property使用方法二
1、测试代码
class TestProperty(object):
def init(self):
self.__num=0@property def num(self): print("getNum") return self.__num @num.setter def num(self, newNum): print("setNum") self.__num = newNum
t = TestProperty()
t.num = 1000 # will auto use setNum print(t.num) # will auto uset
getNum
2、测试结果
3、结果分析及需要注意的事项
1》第二种方法和第一种方法的效果一样都是调用了类似getNum和setNum方法实现的。
2》setter是property中的装饰器。
3》注意setter前面的方法名称要和@property下面的方法名字相同
说明:使用python做的项目少,大神勿喷,有错误请指教。
本文为博主原创文章,未经博主允许请勿转载!作者:ISmileLi