面向对象:property、setter、deleter
property:是一种特殊的属性,访问它时会执行一段功能(函数)然后返回值
一个静态属性property本质就是实现了get,set,delete三种方法
例:在不改变对象调用属性名的方式(obj.name)下,实现了被封装属性在类外部的查看、修改、删除
class Person: def __init__(self,name,money): self.__name = name self.__money = money @property #查看 def name(self): return self.__name @name.setter #修改 def name(self,new_name): self.__name = new_name return self.__name @name.deleter #删除 def name(self): del self.name aike = Person('aike',1000) print(aike.name) aike.name = '艾克' print(aike.name) # del aike.name
注意:
setter可以不仅能够重新赋值,还能计算。deleter能够设置接参,但在外部语法上无法实现传入,所以只能进行删除操作