Python寫類別的時候,每個函數參數的第一個參數都是self,一開始我不管它到底是幹嘛的,只知道必須寫上。後來對Python漸漸熟悉了一點,再回頭看self的概念,似乎有點搞清楚了。
首先明確的是self只有在類別的方法中才會有,獨立的函數或方法是不必帶有self的。 self在定義類別的方法時是必須有的,雖然在呼叫時不必傳入對應的參數。
self名稱不是必須的,在python中self不是關鍵字,你可以定義成a或b或其它名字都可以,但是約定成俗(為了和其他程式語言統一,減少理解難度),不要搞另類,大家會不懂的。
self指的是類別實例物件本身(注意:不是類別本身)。
在上述例子中,self指向Person的實例p。為什麼不是指向類別本身呢,如下例子:
如果self指向類別本身,那麼當有多個實例物件時,self指向哪一個呢?
總結
self在定義時需要定義,但在呼叫時會自動傳入。
self的名字並不是規定死的,但是最好還是依照約定是用self
self總是指呼叫時的類別的實例。
以上是Python中self是什麼的詳細內容。更多資訊請關注PHP中文網其他相關文章!