python——装饰器实现一个函数计时器

版权声明:©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

猜你喜欢

转载自blog.csdn.net/qq_42036824/article/details/86567678