装饰器本质上是一个callable object ,它可以让其他函数在不需要做任何代码变动的前提下增加额外功
能,装饰器的返回值也是一个函数对象。
def timeit(func):
@wraps(func)
def wrapper(*args, **kwargs):
start = time.time()
ret = func(*args, **kwargs)
end = time.time()
print('used:', end - start)
return ret
return wrapper
@timeit
def foo():
for i in range(1000):
print('in foo()')
if __name__ == '__main__':
# 被装饰之后的
foo()
# 输出结果
……
in foo()
……
used: 0.010277748107910156
发布者:admin,如若转载,请注明出处:https://ai1024.vip/38120.html