zoukankan      html  css  js  c++  java
  • 【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__
    

      

  • 相关阅读:
    mysql把查询结果集插入到表理
    js遍历json数据
    php事务回滚
    win10定时执行php脚本
    php输出json的内容
    图像的几个基本概念
    linux系统编程之I/O内核数据结构
    linux系统编程之错误处理
    深拷贝和浅拷贝
    mysql用户的创建
  • 原文地址:https://www.cnblogs.com/zydeboke/p/11259059.html
Copyright © 2011-2022 走看看