python计算时间装饰器_python 写一个计算执行时间的装饰器

面试题之一。

写一个装饰器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

@warps(10)

def myfunc(*args,**kwargs):

for i in range(100000):

pass

myfunc()

结果:

>>>

goods

>>>

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值