1. 程式人生 > >多層裝飾器、帶參數裝飾器

多層裝飾器、帶參數裝飾器

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()

多層裝飾器、帶參數裝飾器