python __getattr__
1.__getattr__ 方法的作用:当调用不存在的属性,就会调用__getattr__()方法:
当一般位置找不到attribute的时候,会调用getattr,返回一个值或AttributeError异常。
class abc(): def __getattr__(self, item): print item abc().test
那么它能干什么呢?
sdk的链式调用就可以用它来实现
结果:
class Dir(object): def __init__(self, path=""): self.__path = path def __getattr__(self, path): print "path:", path print 1 print "self.__path:",self.__path # :renfanzi return Dir("%s/%s" %(self.__path, path)) def __call__(self, user): # print 2 # print user return self.__getattr__(":" + user) def __str__(self): return self.__path # print Dir("GET ").users('renfanzi').repos # print Dir("GET ").usersasdfasd
详情链接:https://www.douban.com/note/304331534/
作者:沐禹辰
出处:http://www.cnblogs.com/renfanzi/
本文版权归作者和博客园共有,欢迎转载,但未经作者同意必须保留此段声明,且在文章页面明显位置给出原文连接。
出处:http://www.cnblogs.com/renfanzi/
本文版权归作者和博客园共有,欢迎转载,但未经作者同意必须保留此段声明,且在文章页面明显位置给出原文连接。