python基礎 帶參數以及返回值的函數裝飾器


 1 #帶參數以及返回值的函數裝飾器,上一篇博客記錄了無參數函數裝飾器寫法以及使用方案,當函數有參數以及返回值時需要將裝飾器進行如下修稿
 2 def timer(fun):
 3     def deco(*args,**kwargs): #被裝飾函數實際是執行deco,所以在此將被裝飾函數參數進行傳遞
 4         start_time = time.time()
 5         res = fun(*args,**kwargs) #將被裝飾函數的返回值接收
 6         stop_time = time.time()
 7         return res #返回被裝飾函數的返回值
 8     return deco
 9 
10 @timer #被裝飾函數帶參數以及有顯式返回值
11 def add(x, y):
12     time.sleep(1)
13     print("this is add func")
14     return x+y
15 
16 print(add(1, 2))

 


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM