1、
class Test(object):
def __init__(self):
self.__num = 100
def getNum(self):
print('------getter-----')
return self.__num
def setNum(self, newNum):
print('-------setter---------')
self.__num = newNum
num = property(getNum, setNum)
t = Test()
print(t.num)
t.num = 200 #相当于调用了t.setNum()
print(t.num) #相当于调用了t.setNum(200)
输出:
------getter-----
100
-------setter---------
------getter-----
200
property的作用:相当于把方法进行了封装,开发者在对属性设置数据的时候更方便
2、
class Money(object):
def __init__(self):
self.__money = 0
@property
def money(self):
return self.__money
@money.setter
def money(self, value):
if isinstance(value, int):
self.__money = value
else:
print('errpr 不是整型数字')
a = Money()
print(a.money)
a.money = 500
print(a.money)