一、给函数添加一个包装
1、问题:我们想给函数加个包装层用来添加额外的处理,如:纪录日志、计时统计
2、可以定义一个装饰器函数,如下:
import time
from functools import wraps
def timethis(func):
@wraps(func)
def wrapper(*args, **kwargs):
start = time.time()
results = func(*args, **kwargs)
end = time.time()
print(func.__name__, end-start)
return results
return wrapper
@timethis
def countdown(n):
while n>0:
n-=1