尋夢新聞LINE@每日推播熱門推薦文章,趣聞不漏接❤️
摘要:本文先講解python中對象的概念,在悟空問答的基礎上全面講解裝飾器如何裝飾類。
一、python中,一切皆是對象。
數值、字符串、列表、元組、集合、字典、函數、類、模塊統統都是對象,對應類的實例。
使用內置函數type()即可顯示類名。
因此,在函數中傳遞和返回”值、函數、類”等並沒有什麼不同,本質都是傳遞和返回對象。
二、理解裝飾器
裝飾器其實是一種設計模式,可以從以下兩個角度理解。
比如裝飾器常常在插入日志、性能測試、事務處理大顯身手。
在往下閱讀之前,請確保已經看過python中如何理解裝飾器代碼。
三、類裝飾器
類裝飾函數時,在裝飾階段,__init__ 函數執行;在被裝飾的函數被調用時,__call__ 執行。
測試如下,顯然saytext函數被同一個對象裝飾。
類裝飾類,示例攔截每個person對象的創建。
測試效果如下:
類裝飾器還可把類的名稱重新綁定另一個類。
同樣測試效果如下:
四、裝飾器的鑲套
鑲套其實很好理解,一層層裝飾而已。
相信都感覺到裝飾器的優雅、簡潔、強大。
如果對你有幫助,請點讚支持,有問題請評論。