用python写一时间装饰器
时间: 2023-08-14 16:03:00 浏览: 83
当然可以!以下是一个用Python编写的时间装饰器示例:
```python
import time
def time_decorator(func):
def wrapper(*args, **kwargs):
start_time = time.time()
result = func(*args, **kwargs)
end_time = time.time()
execution_time = end_time - start_time
print(f"函数 {func.__name__} 的执行时间为 {execution_time} 秒")
return result
return wrapper
@time_decorator
def my_function():
# 在这里写下你想要计时的代码
time.sleep(2)
my_function()
```
在上面的示例中,`time_decorator` 是一个装饰器函数,接受一个函数作为参数。装饰器内部定义了一个名为 `wrapper` 的函数,它接受任意数量的位置参数 `*args` 和关键字参数 `**kwargs`。在 `wrapper` 函数内部,首先记录开始时间 `start_time`,然后调用被装饰的函数 `func(*args, **kwargs)` 并保存返回结果 `result`,最后记录结束时间 `end_time`。计算执行时间 `execution_time` 后,将其打印出来,并返回原函数的返回结果。
在使用装饰器时,只需在要计时的函数前加上 `@time_decorator` 即可。在上述示例中,`my_function` 函数被装饰后会自动计算执行时间并打印出来。
阅读全文