装饰器

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()
posted @ 2023-07-24 22:55  echo1i  阅读(3)  评论(0编辑  收藏  举报