class Stu(object):
def __init__(self):
self._age = None
def getAge(self):
print("调用getx")
return self._age
def setAge(self, value):
print("调用setx")
self._age = value
def delAge(self):
print("调用delx")
del self._age
age = property(getAge, setAge, delAge) # age就是新的属性值,当调用时会触发类似@property
s = Stu()
s.age = 10
s.age
del s.age
调用setx
调用getx
调用delx
当使用property
后可以将方法删除,不会影响调用
class Stu(object):
def __init__(self):
self._age = None
def getAge(self):
print("调用getx")
return self._age
def setAge(self, value):
print("调用setx")
self._age = value
def delAge(self):
print("调用delx")
del self._age
age = property(getAge, setAge, delAge)
del setAge,getAge,delAge
s = Stu()
s.age = 10
s.age
del s.age