py裝飾器一

描述:裝飾器用于在不改變原函數代碼的情況下修改已存在的函數。常見場景是增加一句調試,再次做參數校驗也可以用到裝飾器或者為已有的函數增加log監控。。。flask的route路由就是用到的裝飾器,也許場景還很多很多。。。值得去思考



除此以外,還可以編寫接收參數的裝飾器,其實就是在原本的裝飾器上的外層又嵌套了一個函數:


但是像上面那樣使用裝飾器的話有一個問題:

也就是說原函數已經被裝飾器里的new_fun函數替代掉了。調用經過裝飾的函數,相當于調用一個新函數。查看原函數的參數、注釋、甚至函數名的時候,只能看到裝飾器的相關信息。為了解決這個問題,我們可以使用 Python 自帶的functools.wraps方法。

參考py裝飾器二,詳解functools.wraps使用


最后編輯于
?著作權歸作者所有,轉載或內容合作請聯系作者
平臺聲明:文章內容(如有圖片或視頻亦包括在內)由作者上傳并發布,文章內容僅代表作者本人觀點,簡書系信息發布平臺,僅提供信息存儲服務。

推薦閱讀更多精彩內容