python實例方法、靜態方法和類方法


Python中至少有三種比較常見的方法類型,即實例方法,類方法、靜態方法。它們是如何定義的呢?如何調用的呢?它們又有何區別和作用呢?且看下文。

首先,這三種方法都定義在類中。下面我先簡單說一下怎么定義和調用的。(PS:實例對象的權限最大。)

實例方法 

    定義:第一個參數必須是實例對象,該參數名一般約定為“self”,通過它來傳遞實例的屬性和方法(也可以傳類的屬性和方法);

    調用:只能由實例對象調用。

類方法

    定義:使用裝飾器@classmethod。第一個參數必須是當前類對象,該參數名一般約定為“cls”,通過它來傳遞類的屬性和方法(不能傳實例的屬性和方法);

  一般用於實現另外的構造方法

    調用:實例對象和類對象都可以調用。

靜態方法

    定義:使用裝飾器@staticmethod。參數隨意,沒有“self”和“cls”參數,但是方法體中不能使用類或實例的任何屬性和方法;

    調用:實例對象和類對象都可以調用。

抽象方法

  定義:使用裝飾器@abstractmethod,含abstractmethod方法的類不能實例化,繼承了含abstractmethod方法的子類必須復寫所有abstractmethod裝飾的方法,未被裝飾的可以不重寫


免責聲明!

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



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