写一个装饰器wraps,它接收一个参数t,如果函数执行时间超过1秒,输出“bad”,否则输出“goods”。
首先,计算函数的执行时间:
- import time
- start = time.clock()
- for i in range(1000000):
- pass
- end = time.clock()
- print "cost time = %f s" % (end-start)
- cost time = 0.092749 s
然后:
- import time
- def warps(t):
- def deco(func):
- def _deco(*args,**kwargs):
- start = time.clock()
- func(*args,**kwargs)
- end = time.clock()
- if end - start > t:
- print 'bad'
- else:
- print 'goods'
- return _deco
- return deco
- def myfunc(*args,**kwargs):
- for i in range(100000):
- pass
- myfunc()
结果:
- goods