开发者社区> 问答> 正文

对装饰器的理解,并写出一个计时器记录方法执行性能的装饰器?

对装饰器的理解,并写出一个计时器记录方法执行性能的装饰器?

展开
收起
珍宝珠 2019-11-11 11:48:32 2400 0
1 条回答
写回答
取消 提交回答
  • 装饰器本质上是一个callable object ,它可以让其他函数在不需要做任何代码变动的前提下增加额外功能,装饰器的返回值也是一个函数对象。

    import time
    from functools import wraps
    
    def timeit(func):
        @wraps(func)
        def wrapper(*args, **kwargs):
            start = time.clock()
            ret = func(*args, **kwargs)
            end = time.clock()
            print('used:',end-start)
            return ret
        
        return wrapper
    @timeit
    def foo():
        print('in foo()'foo())
    
    2019-11-11 13:29:35
    赞同 展开评论 打赏
问答地址:
问答排行榜
最热
最新

相关电子书

更多
fibjs 模块重构从回调到协程--陈垒 立即下载
fibjs 模块重构从回调到协程 立即下载
低代码开发师(初级)实战教程 立即下载

相关实验场景

更多