python類方法/實例方法/靜態方法
阿新 • • 發佈:2018-10-14
ssm code 不能 pytho bject cls 隱式 test 裝飾器
類方法:隱式接收第一個參數為類本身的方法,通過類或實例皆可調用,在類方法定義中不能訪問實例屬性及調用實例方法,可以訪問已定義的類屬性和調用已定義的類方法,使用@classmethod裝飾器進行定義:
1 class Test(object): 2 @classmethod 3 def method(cls,*args,**kw):#此處cls即代表Test類本身 4 pass
實例方法:隱式接收第一個參數為實例本身的方法,只能通過實例進行調用,在實例方法定義中可以訪問自身已定義過的實例屬性及類屬性,調用實例方法和類方法,定義方法和函數定義方法相同,只是第一參數代表實例本身;
1 class Test(object): 2 def insMethod(self,*args,**kw):#self代表類的實例 3 pass
靜態方法:沒有隱式參數的方法,通過類或實例皆可調用,因為沒有傳入實例隱式參數,所以靜態方法定義中是不能調用自身定義的實例方法,可以通過類名訪問自生定義的類屬性和類方法,使用@staticmethod裝飾器進行定義:
class Test(object): @staticmethod def stMethod(*args,**kw): pass
python類方法/實例方法/靜態方法