類的綁定方法

  咱們在定義完類以後,要爲定義好的類裏添加不一樣的方法,這些方法分爲三種:綁定到對象的方法、綁定到類的方法以及靜態方法。函數

  1、綁定到對象的方法:3d

  一般狀況下,在類中定義的全部沒有被裝飾器修飾的函數(注意了,這裏說的就是全部,跟self啥的不要緊,self也只是一個再普通不過的參數而已)都是對象的綁定方法,對象在調用綁定方法時會自動將本身做爲參數傳遞給方法的第一個參數。對象

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

  可是,若是咱們利用類去調用這個run函數也不是不能夠:it

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

  2、綁定到類的方法:命名空間

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

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

  仍是同樣的狀況,咱們若是強行用類實例化後的對象調用的話也能夠執行,可是這樣一樣會顯得「不三不四」:im

  3、靜態方法:

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

相關文章
相關標籤/搜索