您的位置:首页 > 其它

一个用于统计函数调用消耗时间的装饰器

2014-12-30 21:31 120 查看
装饰器前面提过了,采用python的闭包特性实现:

from time import time
from time import sleep

def count_time():
def tmp(func):
def wrapped(*args, **kargs):
begin_time = time()
result = func(*args, **kargs)
end_time = time()
cost_time = end_time - begin_time
print '%s called cost time : %s' %(func.__name__, cost_time)
return result
return wrapped
return tmp

@count_time()
def test():
sleep(0.5)

if __name__ == '__main__':
test()


我们尝试以下的代码:

class Test:
@count_time()
def test(self):
print 'haha'

if __name__ == '__main__':
#    test()
a = Test()
a.test()


代码仍然可以正常工作,因为a.test()仅仅就是给test添加了一个额外的参数a而已。
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: 
相关文章推荐