反射前面我们已经学过了,那么为什么还要写这一篇呢,因为__getattribute__这个属性拦截器,但是在某些情况下使用起来,对应的意义不一样。除了属性拦截器之外,它也能跟反射达到类似的效果,至于它的称呼,也有称之为反射。
直接上实例吧:
_ _ getattr_ _
class Name(object):
def __init__(self, name, text, info):
self.name = name
self.text = text
self.info = info
"""查找不到属性的时候调用"""
def __getattr__(self, item):
return self.info['text']
if __name__ == '__main__':
n = Name('QA', '你好', info={"text": '找不到啦'})
print(n.text)
print(n.ddd)
首先我们看到__getattr__&#