__getattr__,settr
__getattr__
如果属性查找在实例以及对应的类中(通过__dict__)失败, 那么会调用到类的__getattr__函数, 如果没有定义这个函数,那么抛出AttributeError异常。由此可见,__getattr__一定是作用于属性查找的最后一步,兜底。
@settr
def user(self): return self._user @user.setter def user(self, value): self._user = value self._request.user = value
注意,必须函数名必须相同
obj.user = 'dadi' 调用setter方法, print(obj.user) 调用user方法