由淺入深,走進Python裝飾器-----第四篇:進階--函數裝飾類
阿新 • • 發佈:2019-05-02
urn 沒有 由於 函數裝飾器 方法 def clas 實際應用 --
**函數裝飾器**
@函數
類
本篇只是用一個簡單的例子,驗證函數可以對類進行修飾, 但是由於返回的值為函數,並不是類, 而且改變了原有類的調用方式,所以沒有實際應用的意義,就不深入探討
3.1 用函數裝飾器來擴展原類
def KuoZhan(cls): def new_func(): print("類裏新增的方法new_func") def new_class(): cls.say = "類裏新增的屬性" cls.new_func = new_func cls.func() cls.new_func() print(cls.say) return new_class # 通過函數裝飾器給類增加屬性或者方法 @KuoZhan #1. @KuoZhan ==> KuoZhan( ) class MyClass(): def func(): print("我是原類裏的方法func") # 此處改變了原類的調用方式, 實際上MyClass已經是一個函數名了 # type(MyClass) = <class ‘function‘> MyClass() >>>我是原類裏的方法func >>>類裏新增的方法new_func >>>類裏新增的屬性
由淺入深,走進Python裝飾器-----第四篇:進階--函數裝飾類