__getattr__,settr

Posted amber-liu

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了__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方法

  

 

以上是关于__getattr__,settr的主要内容,如果未能解决你的问题,请参考以下文章

python 反射(__import__getattr)

python之 __getattr____getattr____getitem____setitem__ 使用

python getattribute、get、getattr、getitem等用法

python __getattr__

python 类中__getattr__的使用

Python的__getattr__和__getattribute__