统计python函数调用次数
时间: 2024-01-30 15:45:48 浏览: 212
可以使用装饰器来统计Python函数的调用次数。下面是一个例子:
```python
def count_calls(func):
def wrapper(*args, **kwargs):
wrapper.num_calls += 1
return func(*args, **kwargs)
wrapper.num_calls = 0
return wrapper
@count_calls
def my_func():
print("Hello, world!")
my_func()
my_func()
print(my_func.num_calls)
```
输出:
```
Hello, world!
Hello, world!
2
```
在这个例子中,我们定义了一个装饰器 `count_calls` ,它接受一个函数作为参数,并返回一个新的函数 `wrapper` 。`wrapper` 函数使用一个变量 `num_calls` 来记录函数被调用的次数,并在每次调用时递增它。最后,装饰器返回的函数 `wrapper` 成为了原始函数的新版本。
在上面的例子中,我们将 `count_calls` 装饰器应用到了函数 `my_func` 上。当我们调用 `my_func` 两次时,`num_calls` 变量的值会分别递增为 1 和 2。最后,我们输出了 `my_func.num_calls` 的值,它应该等于 2。
阅读全文