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

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

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

最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
【社区内容提示】社区部分内容疑似由AI辅助生成,浏览时请结合常识与多方信息审慎甄别。
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

相关阅读更多精彩内容

  • 每个人都有的内裤主要功能是用来遮羞,但是到了冬天它没法为我们防风御寒,咋办?我们想到的一个办法就是把内裤改造一下,...
    chen_000阅读 5,157评论 0 3
  • Single line comments start with a number symbol. """ Mult...
    aonebest阅读 4,449评论 0 0
  • 在开发球球游戏的过程中,为了解决事先没有考虑到的问题,最终的实现和设计有所出入。其中有一部分是关于防御式编程的心得...
    疯狂猪宝宝阅读 3,437评论 0 3
  • 跟着Tyger老师学习新概念到第17课了,每周五上完课后,都要整理课堂内容,再记笔记,已养成一种习惯了。如果没做笔...
    利li阅读 3,517评论 0 0
  • 前几天天热,跑流程有点儿烦,我意识到自己的感受是——我想很快很快把这个事情搞定,赶快结束,不用再看,不用再想最好。...
    一心小茶客阅读 2,481评论 0 0

友情链接更多精彩内容