class Money(object):
def __init__(self):
self.money = 0
def get_money(self):
return self.money
def set_money(self, value):
if isinstance(value, int):
self.money = value
else:
print("不是整型数据")
# 定义一个类属性,当对money设置值时调用set_money,当取money的值时调用get_money
money = property(get_money, set_money)
a = Money()
a.money = 100 # 调用set_money方法
print(a.money) # 调用get_money方法
python提供了更为方便的@property
来完成这一套工作
class Money(object):
def __init__(self):
self.money = 0
@property
# 使用装饰器对money进行装饰,他回自动添加一个money属性,当调用获取money值的时候,执行被它装饰的函数
def money(self):
return self.money
@money.setter
# 这个装饰器是按照property装饰的函数名命名的
def money(self):
if isinstance(value,int):
self.money = value
else:
print("不是整型数据")