1. 程式人生 > >類的綁定方法

類的綁定方法

都是 以及 傳遞 cme 關系 自動 alt 添加 分享

  我們在定義完類之後,要為定義好的類裏添加不同的方法,這些方法分為三種:綁定到對象的方法、綁定到類的方法以及靜態方法。

  一、綁定到對象的方法:

  通常情況下,在類中定義的所有沒有被裝飾器修飾的函數(註意了,這裏說的就是所有,跟self啥的沒關系,self也只是一個再普通不過的參數而已)都是對象的綁定方法,對象在調用綁定方法時會自動將自己作為參數傳遞給方法的第一個參數。

技術分享圖片

  如上圖,內置的構造函數__init__與我們新定義的函數run都是綁定到對象的方法,原則上這個方法只能被類實例化後的對象調用:

技術分享圖片

  但是,如果我們利用類去調用這個run函數也不是不可以:

技術分享圖片

  我們隨意給run一個參數就可以利用類來調用了——可是,根據規則,綁定到對象的方法還是規定只能被對象調用,要是利用類來調用的話別人不會知道你在做什。。。。。。

  二、綁定到類的方法:

  由裝飾器@classmethod修飾的方法就是綁定到類的方法了:

技術分享圖片

  如上圖,綁定到類的方法run可以直接由類People來調用。

  還是一樣的情況,我們如果強行用類實例化後的對象調用的話也可以執行,但是這樣同樣會顯得“不倫不類”:

技術分享圖片

  三、靜態方法:

  由裝飾器@staticmethod修飾的方法就是靜態方法了,它是一種普通函數,位於類定義的命名空間中,不會對任何實例類型進行操作。

技術分享圖片

類的綁定方法