# 帶參數的裝飾器 # import time # FLAGE = False # 加個標志位,使全部的裝飾器可以失效或有效 # def timmer_out(flag): # def timmer(func): # def inner(*args,**kwargs): # if flag: # start =time.time() # ret = func(*args,**kwargs) # print(time.time()-start) # return ret # else: # ret = func(*args, **kwargs) # return ret # return inner # return timmer # # @timmer_out(FLAGE) # timmer_out(FLAGE)就是timmer # def func(): # time.sleep(0.1) # print('sleep:0.1') # @timmer_out(FLAGE) # def fun1(): # time.sleep(0.5) # print('sleep:0.5') # func() # fun1()# 多層裝飾器
# 記錄用戶登陸情況,記錄時間等場景
def fun1(func):def inner(*args,**kwargs):print(111)ret = func()print(222)return retreturn innerdef fun2(func):def inner1(*args,**kwargs):print('aaa')ret = func()print('bbb')return retreturn inner1 @fun1 @fun2 def func():print('馮') func()
?