1. 程式人生 > >python 裝飾器 晉級 系統自帶的裝飾器

python 裝飾器 晉級 系統自帶的裝飾器

計算 print def wrap time args turn per func

#帶參數的裝飾器
#500個函數
# import time
# FLAGE = False
# def timmer_out(flag):
#     def timmer(func):
#         def inner(*args,**kwargs):
#             if flag:
#                 start = time.time()
#                 ret = func(*args,**kwargs)
#                 end = time.time()
#                 print(end-start)
# return ret # else: # ret = func(*args, **kwargs) # return ret # return inner # return timmer # # timmer = timmer_out(FLAGE) # @timmer_out(FLAGE) #wahaha = timmer(wahaha) # def wahaha(): # time.sleep(0.1) # print(‘wahahahahahaha‘)
# # @timmer_out(FLAGE) # def erguotou(): # time.sleep(0.1) # print(‘erguotoutoutou‘) # wahaha() # erguotou() #多個裝飾器裝飾一個函數 def wrapper1(func): def inner1(): print(wrapper1 ,before func) ret = func() print(wrapper1 ,after func) return ret return inner1
def wrapper2(func): def inner2(): print(wrapper2 ,before func) ret = func() print(wrapper2 ,after func) return ret return inner2 def wrapper3(func): def inner3(): print(wrapper3 ,before func) ret = func() print(wrapper3 ,after func) return ret return inner3 @wrapper3 @wrapper2 @wrapper1 def f(): print(in f) return 哈哈哈 print(f()) #記錄用戶的登錄情況 #計算這個函數的執行時間

python 裝飾器 晉級 系統自帶的裝飾器