标签:flag wrapper color ret turn 参数 col port 执行函数
import time #1.加载模块
def timmer(*args,**kwargs): #2.加载变量 5.接收参数True,2,3
def wrapper(f): #6.加载变量 8.f = func1
print(args, kwargs) #9.接收timmer函数的值True,2,3
def inner(*args,**kwargs): #10.加载变量. 13.执行函数inner
if flag: #14 flag = True
start_time = time.time() #15 获取当前时间
ret = f(*args,**kwargs) #16 执行func1
time.sleep(0.3) #19 等待0.3秒
end_time = time.time() #20 获取当前时间
print(‘此函数的执行效率%f‘ % (end_time-start_time)) #21 打印差值
else:
ret = f(*args, **kwargs)
return ret #22 返回给函数调用者func1()
return inner #11 返回给函数调用者wrapper
return wrapper #7.返回给函数调用timmer(flag,2,3)
flag = True #3 加载变量
@timmer(flag,2,3) # 4.执行函数timmer(flag,2,3) 17.执行函数func1 两步:1.timmer(flag,2,3) 相当于执行wrapper 2.@wrapper 装饰器 func1 = wrapper(func1)
def func1(*args,**kwargs):
return 666 #18 返回给函数调用者f(*args,**kwargs)
print(func1()) #12 执行函数
标签:flag wrapper color ret turn 参数 col port 执行函数
原文地址:https://www.cnblogs.com/ywx-py/p/12790497.html