jupyter 配合装饰器输出运行时间【全部代码执行,行内表达式执行时间】

%%time 
# %quickref #thon 快速参考
# %magic #显示magic command详细文档
import time
from functools import wraps 
def timefn(fn):
    @wraps(fn)
    def measure_time(*args, **kwargs):
        t1 = time.time() 
        # 图通过性能分析找到瓶颈 25
        result = %time fn(*args, **kwargs) # 输出函数执行实行
        t2 = time.time() 
        print ("@timefn:%s took %.2fs"%(fn.__name__,float(t2 - t1)))
        return result
    return measure_time 

@timefn
def main():
    time.sleep(1.01)
    print('第一个哦豁')
    time.sleep(1.01)
    print('第二个哦豁')
    
main()

输出

第一个哦豁
第二个哦豁
Wall time: 2.02 s
@timefn:main took 2.02s
Wall time: 2.02 s

你可能感兴趣的:(Python)