专栏首页未闻Code一日一技:如何统计Python函数被调用了几次?

一日一技:如何统计Python函数被调用了几次?

有时候,我们想知道一个函数被调用了多少次。这个需求可以通过装饰器来实现。

我们来写一个装饰器类:

class CallingCounter(object):
    def __init__ (self, func):
        self.func = func
        self.count = 0

    def __call__ (self, *args, **kwargs):
        self.count += 1
        return self.func(*args, **kwargs)

再来写一个被装饰的函数:

@CallingCounter
def test():
    print('我被调用了')

下面我们来看看运行效果:

本文分享自微信公众号 - 未闻Code(itskingname)

原文出处及转载信息见文内详细说明,如有侵权,请联系 yunjia_community@tencent.com 删除。

原始发表时间:2019-02-18

本文参与腾讯云自媒体分享计划,欢迎正在阅读的你也加入,一起分享。

我来说两句

0 条评论
登录 后参与评论

相关文章

  • 一日一技:在Python中实现阿拉伯数字加上中文数字

    在Python 3里面,中文是可以作为变量名的,而运算符又可以重载,基于这两个特性,我们可以实现阿拉伯数字与中文数字的四则运算。

    青南
  • 一日一技:为什么年代久远的 Python 项目里面那么多默认参数?

    在写 Python 代码的时候,大家可能会在不知不觉中使用一些设计范式。我们来看两个例子。

    青南
  • 一日一技:在Python类里面初始化自己

    这里的 __init__叫做 构造函数。它负责在类初始化为实例的时候,初始化必要的数据。如下图所示:

    青南
  • (二十八) 初遇python OOP面向对象编程-魔法方法(双下划线方法)

    各位读者大大们大家好,今天学习python的面向对象编程-魔法方法(双下划线方法),并记录学习过程欢迎大家一起交流分享。

    亚乐记
  • Loxodon.Framework.XLua

    Loxodon.Framework.XLua 是一个XLua的开源的MVVM框架,它做为Unity3D的MVVM框架Loxodon.Framework的插件来使...

    Loxodon Studio
  • 基于Django的电子商务网站开发(连载16)

    (1)通过循环语句formylist in self.mylists:遍历所有测试用例。

    小老鼠
  • ReactiveCocoa,最受欢迎的iOS函数响应式编程库(2.5版),没有之一!

    简介 项目主页: ReactiveCocoa 实例下载: https://github.com/ios122/ios122 简评: 最受欢迎,最有价值的iOS响...

    ios122
  • python codis集群客户端(二) - 基于zookeeper对实例创建与摘除

     在这一篇中我们实现了不通过zk来编写codis集群proxys的api, 如果codis集群暴露zk给你的话,那么就方便了,探活和故障摘除与恢复codis集群...

    用户1225216
  • 用Python实现数据结构之链表

    链表与栈,队列不一样,它是由一个个节点构成的,每个节点存储着本身的一些信息,也存储着其他一个或多个节点的引用,可以从一个节点找到其他的节点,节点与节点之间就像是...

    py3study
  • Python写自动化之SVN更新

    在远程机器上执行脚本时,为了能够保证脚本的实时性,我们一般会将脚本存放到SVN上,远程机器通过SVN的操作去更新脚本;

    py3study

扫码关注云+社区

领取腾讯云代金券