首先,對於python,只有針對類來說的self才有意義,所以python中的self,說的即是python類中的self。
以下我將結合python類的相關概念敘述,必須明確的是,self只能用在python類的方法(即函數)中。
在我看來,python的類有三個相關概念:屬性(即變量)、方法(即函數)、繼承。
在我看來,python的類有三個相關概念:屬性(即變量)、方法(即函數)、繼承。
1.屬性(即變量)
(1)如果變量定義在類下面而不是類的方法下面,那這個變量既是類的屬性也是類實例的屬性。
(2)如果變量定義在類的方法下面,如果加了self,那這個變量就是類實例的屬性,不是類的屬性;如果沒有加self,這個變量只是這個方法的局部變量,既不是類的屬性也不是類實例的屬性。
2.方法(即函數)
(1)如果在類中定義函數時加了self,那這個函數是類實例的方法,而不是類的方法。
(2)如果在類中定義函數時候沒有加self,那這個函數就只是類的方法,而不是類實例的方法。
3.繼承
通俗的講,子類繼承父類,也就是子類繼承了父類的屬性和方法,相當於把父類的屬性和方法的定義直接加到子類里來,這個時候以子類為主。
說明:以上闡述是基於我個人的理解用最直觀的語言進行的總結,如果有錯誤歡迎提出,想從python的語法方面了解self的用法請參考這篇博客:
https://www.cnblogs.com/jessonluo/p/4717140.html
