多層裝飾器、帶參數裝飾器
阿新 • • 發佈:2019-05-02
style 有效 print rgs 多層 urn 就是 pre ret
# 帶參數的裝飾器 # 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 ret return inner def fun2(func): def inner1(*args,**kwargs):print(‘aaa‘) ret = func() print(‘bbb‘) return ret return inner1 @fun1 @fun2 def func(): print(‘馮‘) func()
多層裝飾器、帶參數裝飾器