當有很多函數都需要在某一個時間內需要裝飾是,通過三層嵌套,可以實現對多個函數進行裝飾。

import time FLAGE = False def timeer_out(flag): def timeer(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 timeer @timeer_out(FLAGE) def lala(): time.sleep(0.1) print("小垃圾") lala()
例如這個函數,當你需要調用測試它的運行時間時,可以通過1設置一個參數來控制。當FLAG為False時就不會執行裝飾器。
當為Ture時。就會執行。