今天看到了一种有趣的定义函数的方式:

class Test(object):
    def define_get_methods(cls, method_name, path):
        def inner_get(self, params): #定义函数
           return self.get(path, params)  # 每一个函数都是作为属性存在的
        inner_get.__doc__ = 'description for ' + method_name
        inner_get.__name__ = method_name
        setattr(cls, inner_get.__name__, inner_get)


get_methods = {
    'bugs' : 'bugs',
 }

for (k, v) in get_methods.items():
    define_get_methods(Test, 'get_' + k, '/' + v)

 

posted on 2017-01-18 10:39  妞溜溜  阅读(619)  评论(0编辑  收藏  举报