版权声明:本文为博主原创文章,未经博主允许不得转载。 https://blog.csdn.net/u010859970/article/details/79901596
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)