原函數(shù):import timedef performance(unit):? ? def perf_decorator(f):? ? ? ? def wrapper(*args, **kw):? ? ? ? ? ? t1 = time.time()? ? ? ? ? ? r = f(*args, **kw)? ? ? ? ? ? t2 = time.time()? ? ? ? ? ? t = (t2 - t1)*1000 if unit =='ms' else (t2 - t1)? ? ? ? ? ? print 'call %s() in %f %s'%(f.__name__, t, unit)? ? ? ? ? ? return r? ? ? ? return wrapper? ? return perf_decorator改完以后:@perforimport timedef performance(unit):? ? def g(r): def wa(*args,**kw): r1=time.time() f=r(*args,**kw) r2=time.time() t=(r2-r1)*1000 if unit=='ms' else(r2-r1) print 'call %s() in %f %s'%(r.__name__, t, unit) return f return wa return g@performance('ms') ?def factorial(n):? ? return reduce(lambda x,y: x*y, range(1, n+1))print factorial(10)
添加回答
舉報(bào)
0/150
提交
取消