先上定义
属性:将方法构造成一个属性,但是在代码中不会有实际提升
例子:
class Person: def __init__(self, name, age): self.name = name self.__age = age @property def age(self): return self.__age @age.setter def age(self, a1): self.__age = a1 print("age被修改了") @age.deleter def age(self): del self.__age
其中@property的作用就是将age方法看作__age属性,这样在调用是会更加方便,比如
p1 = Person('xxz', 18) print(p1.age)
而@xx.setter和@xx.deleter的意思就是当该属性被修改和删除时自动会调用的方法.