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__
    

      

  • 相关阅读:
    使用OpenCV进行相机标定
    近景摄影测量
    vmware安装操作系统
    mac下使用gnu gcc
    Collection of Boot Sector Formats for ISO 9660 Images
    java会不会出现内存泄露
    difference between http get and post
    Apache许可翻译
    项目持续集成工具
    常用的地图投影算法
  • 原文地址:https://www.cnblogs.com/zydeboke/p/11259059.html
Copyright © 2011-2022 走看看