Python–面向对象中装饰器的使用
class Person(object):
def __init__(self,name,age):
self.__name = name
self.__age = age
@property
def name(self):
return self.__name
@property
def age(self):
return self.__age
@age.setter
def age(self,age):
self.__age = age
def play(self):
if self.__age <= 16:
print('%s正在玩飞行棋' % self.__name)
else:
print('%s正在玩斗地主' % self.__name)
def main():
person = Person('王林伟',12)
person.play()
person.age=22
person.play()
if __name__ == '__main__':
main()
总结:
面向对象中使用@property和@+函数名来进行装饰器调用修改函数变量或者整个类的实例运行结果。