Python装饰器计时模板

无论函数有无参数均可套用,不影响打印函数帮助文档

import functools
import time

def timeit(fun):
    @functools.wraps(fun)  # 加这行,可保证 print(函数名.__doc__) 是原函数的帮助文档
    def wrapper(*args,**kwargs):  # 接收可变参数和关键字参数
        """这是一个计时装饰器"""
        start_time = time.time()
        res = fun(*args,**kwargs)
        stop_time = time.time()
        print('运行时间:%.6f' %(stop_time-start_time))
        return res
    return wrapper

@timeit
def fun_list(n):
    """该函数为累加函数"""    # 打印函数帮助文档,使用print(fun_list.__doc__)会显示
    return sum([i for i in range(n)])

result = fun_list(100)
print("累加结果:{}".format(result))

print(fun_list.__name__)  # 打印函数名
print(fun_list.__doc__)   # 打印函数帮助文档

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

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值