码迷,mamicode.com
首页 > 编程语言 > 详细

python用类装饰函数的一个有趣实现

时间:2019-01-31 18:18:54      阅读:129      评论:0      收藏:0      [点我收藏+]

标签:===   res   evel   print   func   log   int   ==   eth   

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

  

python用类装饰函数的一个有趣实现

标签:===   res   evel   print   func   log   int   ==   eth   

原文地址:https://www.cnblogs.com/slqt/p/10343032.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!