1. 首页
  2. 编程面试题
  3. Python
  4. Python基础

写出一个计时器记录方法执行性能的装饰 器?



装饰器本质上是一个callable object ,它可以让其他函数在不需要做任何代码变动的前提下增加额外功
能,装饰器的返回值也是一个函数对象。


def timeit(func):
    @wraps(func)
    def wrapper(*args, **kwargs):
        start = time.time()
        ret = func(*args, **kwargs)
        end = time.time()
        print('used:', end - start)
        return ret
    return wrapper

@timeit
def foo():
    for i in range(1000):
        print('in foo()')

if __name__ == '__main__':
    # 被装饰之后的
    foo()

# 输出结果
……
in foo()
……
used: 0.010277748107910156

发布者:admin,如若转载,请注明出处:https://ai1024.vip/38120.html

QR code
//