美文网首页
使用装饰器记录函数调用次数(函数是对象)

使用装饰器记录函数调用次数(函数是对象)

作者: 伍只蚊 | 来源:发表于2017-07-15 01:02 被阅读94次

    def counter(func):

        """

        A decorator that counts and prints the number of times a function has been executed

        """

        def wrapper(*args, **kwargs):

            wrapper.count = wrapper.count + 1

            res = func(*args, **kwargs)

            print "{0} has been used: {1}x".format(func.__name__, wrapper.count)

            return res

        wrapper.count = 0

        return wrapper

    函数是对象所以可以为他添加属性,利用这个属性来记录次数

    相关文章

      网友评论

          本文标题:使用装饰器记录函数调用次数(函数是对象)

          本文链接:https://www.haomeiwen.com/subject/zuhahxtx.html