python装饰器

#装饰器需要用到,闭包,高阶函数,函数作用域
# import time
# def aoo():
# print("i love you!")
# time.sleep(3)
# def baa():
# print("i miss you!")
# time.sleep(2)
# # 接下来我们要计算上面两个程序运行时间
# def show_time(f):
# def inner():
# star_time = time.time()
# f()
# end_time = time.time()
# print('use%s' % (end_time-star_time ))
# return inner
#
# aoo=show_time(aoo)
# aoo()




# 高级一点:
# import time
# def show_time(f):
# def inner():
# star_time = time.time()
# f()
# end_time = time.time()
# print('use%s' % (end_time-star_time ))
# return inner
#
# @show_time#相当于是把上面的函数方法加载到下面函数
# def aoo():
# print("i love you!")
# time.sleep(3)
# aoo()#调用aoo函数
#
# @show_time
# def baa():
# print("i miss you!")
# time.sleep(2)
# baa()





#功能函数加参数
import time
def show_time(f,):
def inner():
star_time = time.time()
f()
end_time = time.time()
print('use%s' % (end_time-star_time ))
return inner

@show_time#相当于是把上面的函数方法加载到下面函数
def aoo(*a,**b):
print("i love you!")
time.sleep(3)
num=0
for i in a:
num+=i
print(i)
aoo(1,5,9)#调用aoo函数

@show_time
def baa():
print("i miss you!")
time.sleep(2)
# baa()
原文地址:https://www.cnblogs.com/laoli1020/p/8558637.html