导航

 
class RunningLog:
    def __init__(self,func):
        self._func=func
        self._func_name = func.__name__

    def __call__(self,func_name,level=None):
        self.level=level
        value=getattr(self, func_name.__str__())()
        self._func(func_name,self.level)
        return 'result: '+value

    def fun(self):
        print 'get value from class',self.level
        print 'do something'
        return 'test end'


@RunningLog
def bar(func_name,level=None):
    print 'has done ',func_name
    print 'level name===>',level


result=bar('fun',level='test')
print result

  

posted on 2019-01-31 17:50  slqt  阅读(257)  评论(0编辑  收藏  举报