1.lambda表达式
class Chain(object): def __init__(self, path=''): self._path = path def __getattr__(self, path): #GET /users/:user/repos #调用时更换用户名 ############################# if path=='users': return lambda x : Chain('%s/%s' % (self._path,x)) return Chain('%s/%s' % (self._path, path)) def __str__(self): return self._path __repr__ = __str__
运行结果:/status/Mike/timeline/list
2.__call__()函数
class Chain2(object): def __init__(self,path=''): self.path=path def __getattr__(self,path): if path=='users': return Chain2('%s' % (self.path)) return Chain2('%s/%s' % (self.path,path)) def __call__(self,username): return Chain2('%s/%s' %(self.path,username)) def __str__(self): return self.path __repr__=__str__
关于这个函数,有大佬知道如何判断确定是users的参数后,才调用__call__的吗
我的结果:self_path里面是不包含users的
Sign in to make a reply
叫红烧排骨把
1.lambda表达式
运行结果:/status/Mike/timeline/list
2.__call__()函数
运行结果:/status/Mike/timeline/list
关于这个函数,有大佬知道如何判断确定是users的参数后,才调用__call__的吗
我的结果:self_path里面是不包含users的