有的时候我们想统计下某个py文件内所有函数(或指定某些函数)的调用次数,可以通过协程的方式实现,当然也可以写在一个类里,但有的时候不想封装成类可以考虑下协程。
(我记得之前工作某次就想统计函数被调用次数,但当时没想到合适的解决方案,遂放弃。。。)
例子如下:
#被调用py文件代码
#假设文件名为cor.py
from functools import wraps
'''
通过协程实现记录所有函数被调用次数
'''
def coroutine(func):
@wraps(func)
def execute_next(*args, **kwargs):
result = func(*args, **kwargs)
next(result)