2、带参数的装饰器
import time
def timer_out(flag1): #flag1 = flag
def timer(f):
def inner(*args, **kwargs):
if flag:
start_time = time.time()
time.sleep(0.5)
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 timer
flag = True
@timer_out(flag) # 1,步 timer_out(flag) == timer 2,@与timer结合,变成你熟悉的装饰器 @timer
def func1():
print(111)
@timer_out(flag)
def func2():
print(222)
@timer_out(flag)
def func3():
print(333)
func1()
func2()
func3()