python進階:閉包、裝飾器、語法糖

學了就忘,看到這個例子很好,記錄一下。

來源 蔡超老師課程

閉包

裝飾器(decorator)

裝飾器是閉包的一個經典應用。裝飾器(decorator)在 python 中用來擴展原函數的功能,目的是在不改變原來函數代碼的情況下,給函數增加新的功能。

假設我們的需求又變化啦,我們現在不統計函數的運行開始和結束時間了,改成統計函數的運行時長了,那麼我們只需要改 record_time 這個函數就好了,而我們的功能函數 sum 就無須再改了,這樣是不是方便了很多?
有了裝飾器,我們可以在不改變原有函數代碼的前提下,增加、改變原有函數的功能。這種方式也被稱作“切面編程”,實際上,裝飾器正是切面編程的最佳釋例。

語法糖

有了裝飾器,我們就可以做很多額外的工作,例如插入日誌、做事務處理等,在後續的章節中我也會介紹如何利用裝飾器給測試用例打標籤。

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章