代码中的 f 指的是在什么?参数‘ms’的传递路径又是怎样的呢?求大神解答?
代码中的 f 指的是在什么?参数‘ms’的传递路径又是怎样的呢?求大神解答?
import time
def performance(unit):
def log_time(f):
def a(*args,**kw):
t1=time.time()
r=f(*args,**kw)
t2=time.time()
if unit == 's':
t=t2-t1;
elif unit == 'ms':
t=(t2-t1)*1000;
else:
print 'input error'
print 'call %s() in %f %s' %(f.__name__,t,unit);
return r
return a
return log_time
@performance('ms')
def factorial(n):
return reduce(lambda x,y: x*y, range(1, n+1))
print factorial(10)