\quad 在实际写程序时,很多时候我们有这样的需求,需要统计某个函数运行时间。我们可以使用装饰器来很方便的完成这个任务。接下来的程序提供的装饰器可以用于修饰类和方法,如下所示:
def timer(func):
def func_wrapper(*args, **kwargs):
from time import time
time_start = time()
result = func(*args, **kwargs)
time_end = time()
time_spend = time_end - time_start
print('%s cost time: %.3f s' % (func.__name__, time_spend))
return result
return func_wrapper
\quad 这里给出一些修饰示例:
def timer(func):
def func_wrapper(*args, **kwargs):
from time import time
time_start = time()
result = func(*args, **kwargs)
time_end = time()
time_spend = time_end - time_start
print('%s cost time: %.3f s' % (func.__name__, time_spend))
return result
return func_wrapper
@timer
def test(n):
sum = 0
for i in range(n + 1):
sum += n
return sum
@timer
class T():
def __init__(self):
pass
@timer
def test(self, n):
sum = 0
for i in range(n + 1):
sum += n
return sum
if __name__ == '__main__':
test(10000000)
T().test(10000000)