天天看點

python 中 self 的含義

現象:Python編寫類的時候,類成員函數的第一個參數都是self。

說明:首先明确的是self隻有在類的方法中才會有,獨立的函數或方法是不必帶有self的。self在定義類的方法時是必須有的,雖然在調用時不必傳入相應的參數。

self名稱不是唯一固定的,在python中self不是關鍵詞,你可以定義成a或b或其它名字都可以,但是約定成俗(為了和其他程式設計語言統一,減少了解難度),不要搞另類,大家會不明白的。使用 self 隻是為了約定成俗。

解釋:

self總是指向調用時的類的執行個體。

self在函數定義時需要定義,但是在調用時會自動傳入。

self的名字并不是規定死的,但是最好還是按照約定是用self。

self 不寫也是可以的,這個時候就相當于C++ 中的靜态成員函數,屬于類而不屬于對象,該函數成為類方法。

self 在繼承時,真正使用的執行個體是調用時傳入的執行個體。