classmethod類方法
1) 在python中.類方法 @classmethod 是一個函數修飾符,它表示接下來的是一個類方法,而對於平常我們見到的則叫做實例方法。 類方法的第一個參數cls,而實例方法的第一個參數是self,表示該類的一個實例。
2) 普通對象方法至少需要一個self參數,代表類對象實例
3)類方法有類變量cls傳入,從而可以用cls做一些相關的處理。並且有子類繼承時,調用該類方法時,傳入的類變量cls是子類,而非父類。 對於類方法,可以通過類來調用,就像C.f(),有點類似C++中的靜態方法, 也可以通過類的一個實例來調用,就像C().f(),這里C(),寫成這樣之后它就是類的一個實例了。
class info(object): @classmethod def sayclassmethod(cls): print 'say %s' % cls def saymethod(self): print 'say %s' % self test = info() test.saymethod()##實例調用方法 test.sayclassmethod()##實例調用類方法 info.saymethod(test)##類調用實例方法 info.sayclassmethod()##類調用類方法