装饰器
import time
# 写一个公共函数,计算运行时间
"""
先在外部写一个计算时间的函数,给这个函数传一个函数当做参数
再这个函数内部再写一个函数,再这个内部函数返回上一个函数参数的执行结果
再返回这个函数的函数对象
"""
def run_log(fun):
def inner():
t1 = time.time()
print(f'运行之前的时间:{t1}')
res = fun()
t2 = time.time()
print(f'运行之后的时间:{t2}')
print(f'运行差的时间:{t2-t1}')
print(f'运行结果{res}')
return res
return inner # 返回函数对象
@run_log
def fun_a():
time.sleep(2)
return {"code": 0, "msg":"success"}
def fun_b():
time.sleep(3)
def fun_c():
time.sleep(4)
fun_a()
# r1 = run_time(fun_a)
# r1()
#
# r2 = run_time(fun_b)
# r2()