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)
#!/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__