Discuss / Python / homework: 实现user/:users输出个性化URL

homework: 实现user/:users输出个性化URL

Topic source

看了大佬们的作业,我只好总结一下啦。大概看了有至少三种方法吧。

class Chain(object):
    def __init__(self, path=''):
       self.__path = path

    def __getattr__(self, path):
      # 方法三,添加一个条件语句
      if path == 'users':
        return lambda name: Chain('%s/%s/%s' % (self.__path, path, name))
      return Chain('%s/%s' % (self.__path, path))

   # 方法一,定义一个users方法
    def users(self, name):
      return Chain('%s/%s/%s' % (self.__path, 'users', name))

    # 方法二,让实例可以实现直接调用
    def __call__(self, path):
       return Chain('%s/%s' % (self.__path, path))

    def __str__(self):
       return self.__path

    __repr__ = __str__

print(Chain().abc.users('michael').repos)

优秀


  • 1

Reply