有参装饰器
def timmerout(flag1): #flag1 =flag
def timmer(f):
def inner(*args,**kwargs):
if flag1:
start_time = time.time()
ret = f(*args,**kwargs)
end_time = time.time()
print('此函数的执行效率%s' % (end_time - start_time))
return ret
else:
ret = f(*args, **kwargs)
return ret
return inner
return timmer
flag = False
@timmerout(flag) #将@与timmerout(flag)分离,拿到后者的执行结果后在与@组合。
def func1():
time.sleep(0.3)
print('非常复杂......')
return 666def timmerout(flag1): #flag1 =flag