帶參數的裝飾器

當有不少函數都須要在某一個時間內須要裝飾是,經過三層嵌套,能夠實現對多個函數進行裝飾。ide

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

例如這個函數,當你須要調用測試它的運行時間時,能夠經過1設置一個參數來控制。當FLAG爲False時就不會執行裝飾器。函數

當爲Ture時。就會執行。測試

相關文章
相關標籤/搜索