Python怎么实现时间装饰器
时间: 2023-11-05 19:16:31 浏览: 130
深入理解python中的闭包和装饰器
时间装饰器可以使用 Python 中的装饰器语法来实现。比如下面的代码就是一个简单的计时装饰器:
```
import time
def time_it(func):
def wrapper(*args, **kwargs):
start = time.time()
result = func(*args, **kwargs)
end = time.time()
print(f"{func.__name__} took {(end-start)*1000:.5f} ms")
return result
return wrapper
@time_it
def some_func(*args):
# do something here
pass
```
在这个例子里,`time_it` 函数接受一个函数作为参数,并返回一个新的函数 `wrapper`,它在调用原来的函数之前记录开始时间,然后在函数执行结束后计算出程序运行时间并打印出来。我们可以使用 `@time_it` 来装饰任何需要计时的函数,比如上面的 `some_func`。
阅读全文