import time
def performance(unit):
def perf_wrapper(f):
def wrapper(*args, **kwargs):
start_time = time.time()
res = f(*args, **kwargs)
end_time = time.time()
delt_time = (end_time-start_time) if unit == 's' else (end_time-start_time)*1000
print('call %s() in %f %s'%(f.__name__, delt_time, unit))
return res
return wrapper
return perf_wrapper
@performance('ms')
def factorial(n):
return reduce(lambda x,y: x*y, range(1, n+1))
print factorial(10)
【python-装饰器】带有时间单位入参的的函数运行时间分析装饰器
最新推荐文章于 2022-10-19 10:24:46 发布