7.2__getattr____getattribute__魔法函数

Posted zydeboke

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了7.2__getattr____getattribute__魔法函数相关的知识,希望对你有一定的参考价值。

 1 #!/user/bin/env python
 2 # -*- coding:utf-8 -*-
 3 # __getattr__、__getattribute__
 4 # __getattr__ 就是在查找不到属性的时候调用
 5 # __getattribute__ 无条件进入__getattribute__
 6 from datetime import date
 7 
 8 
 9 class User:
10     def __init__(self, name, birthday, info=):
11         self.name = name
12         self.birthday = birthday
13         self.info = info
14 
15     def __getattr__(self, item):
16         return self.info[item]
17 
18     # def __getattribute__(self, item):
19     #     return ‘__getattribute__‘
20 
21 
22 if __name__ == __main__:
23     user = User(zy, date(year=1998, month=6, day=8), company: imooc)
24     print(user.company)
25     print(user.name)
imooc
zy

  

#!/user/bin/env python
# -*- coding:utf-8 -*-
# __getattr__、__getattribute__
# __getattr__ 就是在查找不到属性的时候调用
# __getattribute__ 无条件进入__getattribute__
from datetime import date


class User:
    def __init__(self, name, birthday, info=):
        self.name = name
        self.birthday = birthday
        self.info = info

    def __getattr__(self, item):
        return self.info[item]

    def __getattribute__(self, item):
        return __getattribute__


if __name__ == __main__:
    user = User(zy, date(year=1998, month=6, day=8), company: imooc)
    print(user.company)
    print(user.name)
__getattribute__
__getattribute__

  

以上是关于7.2__getattr____getattribute__魔法函数的主要内容,如果未能解决你的问题,请参考以下文章

Python描述符常用场景详解

Python的__getattr__和__getattribute__

python __getattr__

__getattr__,settr

python中__getattr__和__getattribute__区别

python 类中__getattr__的使用