使用装饰器@编写一个performance,他可以打印出函数调用的时间
时间: 2024-10-24 21:04:05 浏览: 14
性能验证工具,可以查看到每个子函数的时间消耗情况
装饰器(Decorator)是Python中一种特殊类型的函数,它允许我们在不修改原函数源码的情况下,动态地添加、修改或删除函数的功能。为了创建一个名为`performance`的装饰器,它可以打印出函数调用的时间,我们可以按照以下步骤编写:
```python
import time
def performance(func):
def wrapper(*args, **kwargs):
start_time = time.time()
result = func(*args, **kwargs)
end_time = time.time()
print(f"Function {func.__name__} took {end_time - start_time} seconds to execute.")
return result
return wrapper
# 使用装饰器
@performance
def my_function(n):
# 这里是函数体
for _ in range(n):
pass
my_function(1000000) # 调用时会自动打印时间
```
当调用`my_function`时,它会首先执行装饰器`performance`返回的`wrapper`函数,这个函数会在开始执行原函数前记录时间,并在执行结束后计算并打印耗时。
阅读全文