一文詳解python的類方法,普通方法和靜態方法


  首先形式上的區別,實例方法隱含的參數為類實例self,而類方法隱含的參數為類本身cls。 靜態方法無隱含參數,主要為了類實例也可以直接調用靜態方法。

  所以邏輯上,類方法被類調用,實例方法被實例調用,靜態方法兩者都能調用。主要區別在於參數傳遞上的區別,實例方法悄悄傳遞的是self引用作為參數,而類方法悄悄傳遞的是cls引用作為參數。

接下來看用類和實例分別能否調用類屬性

 

故  實例方法(普通方法)應該由實例調用,類不能調用;

 

類方法可以由類調用,而且因為傳入了參數cls,故也可以由實例來調用。

靜態方法兩者都能調用

 總結成一張表就是:

 注意類實例方法調用的結果和靜態方法調用的結果的區別:

 

實例方法(普通方法)——————————————————————隨着實例屬性的改變而改變

類方法(無論是類調用還是實例調用)———————————————都是類屬性的值,不隨實例屬性的變化而變化

靜態方法————————————————————————————不可以訪問類屬性,故直接輸出傳入方法的值

 


免責聲明!

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



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