版权声明:©;2004 Microsoft Corporation. All rights reserved. https://blog.csdn.net/qq_42036824/article/details/86567678
饰器实现一个函数计时器
- 比较用for循环拼接,和系统内置拼接函数.join的速度
import time
import random
import string
import functools
li = [random.choice(string.ascii_letters) for i in range(10)]
print(li)
def timeit(fun):
@functools.wraps(fun) ##为了保留被修饰的函数名和帮助信息文档
def wrapper(*args,**kwargs):
start_time = time.time()
res = fun(*args,**kwargs)
end_time = time.time()
print('运行时间为:%.6f' %(end_time - start_time))
return res
return wrapper
@timeit
def con_add():
"""这是for循环"""
s = ''
for i in li:
s += (i + ',')
print(s)
@timeit
def join_add():
"""这是join方法"""
print(','.join(li))
con_add()
join_add()
结果:
['O', 'e', 'P', 'g', 'D', 'S', 'L', 'z', 'D', 'g']
O,e,P,g,D,S,L,z,D,g,
运行时间为:0.000014
O,e,P,g,D,S,L,z,D,g
运行时间为:0.000007