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__