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