西边
2016-12-31
1 回答
import time
def performance(f):
def fn(*args,**kw):
t1=time.time()
r=f(*args.**kw)
t2=time.time) # 少了左括号(
print 'call %s() in %fs'%(f.__name__,)(t2-t1)) #应该写成(f.__name__, (t2-t1))
return r #缩进不对,应该与上一行代码开头对齐,因为这是fn函数的返回值,相比def fn(*args,**kw): 这一句缩进一次就够了。
return fn # #缩进不对,应该与def fn(*args,**kw): 这一行代码开头对齐,因为这是performance函数的返回值。
@performance
def factorial(n):
return reduce(lambda x,y: x*y, range(1, n+1))
print factorial(10)
举报
0/150
提交
取消