__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方法

  

 

posted @ 2018-12-15 22:58  amberLIU  阅读(250)  评论(0编辑  收藏  举报