python记录函数调用次数
时间: 2023-08-27 10:07:05 浏览: 228
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()
my_func()
print("my_func was called", my_func.num_calls, "times.")
```
输出:
```
Hello, world!
Hello, world!
Hello, world!
my_func was called 3 times.
```
在装饰器函数 `count_calls` 中,我们定义一个内部函数 `wrapper`,它接收任意数量的位置参数和关键字参数,并在调用函数之前自增一个计数器。然后,我们将计数器作为一个属性附加到 `wrapper` 函数上,并返回 `wrapper` 函数。
我们将 `count_calls` 装饰器应用于 `my_func` 函数,这样在每次调用 `my_func` 函数时,它将自增计数器。最后,我们打印计数器的值,以显示函数调用次数。
阅读全文