python 装饰器 之打印函数执行时间
在实际开发中 遇见很多需要排查函数执行时间定位性能瓶颈点
用装饰器获取函数执行的时间还是比较方便的
import inspect import time def timethis(func): def wrapper(*args, **kwargs): start = time.time() func(*args, **kwargs) end = time.time() print(inspect.getfile(func), func.__name__, end - start) return wrapper
装饰器的执行情况
@timethis def test1(a): print("test1开始") print(a) time.sleep(1) print("test1结束") def test2(a): print("test2开始") print(a) time.sleep(1) print("test3结束") if __name__ == '__main__': # 有装饰器的情况下执行 test1(10) # 下面执行情况等效于装饰器的执行 timethis(test2)(10)