python類方法以及類調用實例方法的理解


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()##類調用類方法

  


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM