您好,登錄后才能下訂單哦!
概述
實例方法
靜態方法
類方法
裝飾器版:
classmethod(function)版:
普通函數
總而言之,除了裝飾器版的類方法和靜態方法外,其它方法與函數均可看做是實例方法.
代碼與運行結果
class A(object): def instant_method(self,*args): print('實例方法',*args) @classmethod def class_method_01(clz,*args): """第一個參數為class,調用時自動傳遞""" print('類方法(裝飾器版)',*args) def class_method_02(*args): print('類方法(普通函數通過內置函數classmethond(function)轉換版)',*args) classmethod(class_method_02) @staticmethod def static_method(*args): print('靜態方法',*args) def normal_function(*args): print('普通函數',*args) a=A() # 調用實例方法 a.instant_method('通過實例調用') A.instant_method(a,'通過類調用') # 調用裝飾器版類方法 a.class_method_01('通過實例調用') A.class_method_01('通過類調用') # 調用classmethod(function)版類方法 # 通過實例調用時,會默認傳遞實例本身到方法的第一個參數 a.class_method_02('通過實例調用') A.class_method_02('通過類調用') # 調用靜態方法 a.static_method('通過實例調用') A.static_method('通過類調用') # 調用普通函數 # 通過實例調用時,會默認傳遞實例本身到方法的第一個參數 a.normal_function('通過實例調用') A.normal_function('通過類調用')
輸出
實例方法 通過實例調用
實例方法 通過類調用
類方法(裝飾器版) 通過實例調用
類方法(裝飾器版) 通過類調用
類方法(普通函數通過內置函數classmethond(function)轉換版) <main.A object at 0x7f9b9b0486a0> 通過實例調用
類方法(普通函數通過內置函數classmethond(function)轉換版) 通過類調用
靜態方法 通過實例調用
靜態方法 通過類調用
普通函數 <main.A object at 0x7f9b9b0486a0> 通過實例調用
普通函數 通過類調用
總結
以上就是這篇文章的全部內容了,希望本文的內容對大家的學習或者工作具有一定的參考學習價值,謝謝大家對億速云的支持。如果你想了解更多相關內容請查看下面相關鏈接
免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。