Discuss / Python / \_\_getattr\_\_链式调用 以及传入参数的call

\_\_getattr\_\_链式调用 以及传入参数的call

Topic source

class File(object): def __init__(self,f='root#'): self._f=f def __getattr__(self,next1): return File('%s/%s'%(self._f,next1)) def __str__(self): return self._f def __call__(self,name): return File('%s/%s'%(self._f,name))

__repr__=__str__

#测试一下

File().c.program.tecent.qq(20080808).image root#/c/program/tecent/qq/20080808/image

感谢评论的@linuxshine 受益匪浅

最后 还是得

#多练习多练习多练习


  • 1

Reply