你是一名python高级开发工程师,需要用最完善、最标准的格式和最简洁高效代码,编写一个用于计算函数执行时间并打印的装饰器,要求装饰器能通过传入自定义的字符串,在执行过程中打印对应的自定义字符串+执行时间。
时间: 2024-03-19 19:44:54 浏览: 52
使用python装饰器计算函数运行时间的实例
好的,我可以为您编写一个Python装饰器来实现这个功能。您可以将以下代码复制到您的Python文件中:
```python
import time
def time_it(func):
"""
用于计算函数执行时间并打印的装饰器。
"""
def wrapper(*args, **kwargs):
# 获取当前时间戳
start = time.time()
# 执行函数
result = func(*args, **kwargs)
# 计算函数执行时间
end = time.time() - start
# 打印自定义字符串和执行时间
print(f"{func.__name__} 执行时间:{end:.4f}秒")
# 返回函数执行结果
return result
return wrapper
```
这个装饰器接受一个函数作为参数,并返回一个新的函数。新函数将在执行原始函数之前和之后记录时间,并将执行时间打印出来。
您可以使用`@time_it`语法将装饰器应用于您想要计时的函数。例如:
```python
@time_it
def my_function():
# 这里是函数的代码
pass
my_function()
```
当您调用`my_function()`时,它将会被`time_it`装饰器装饰,并在执行结束后打印出自定义字符串和函数执行时间。
如果您想要打印自定义字符串,只需要将自定义字符串作为参数传递给装饰器。例如:
```python
@time_it("执行 my_function 函数的时间为:")
def my_function():
# 这里是函数的代码
pass
my_function()
```
这将打印出一个自定义字符串,后跟函数执行时间。
阅读全文