Python之self


python類的函數中,第一個參數必須為實例對象本身,約定俗稱記為self。self是實例本身,在外部調用類中的函數時,不需要給self賦值,但需要給其他的參數賦值。

與普通的函數相比,在類中定義的函數只有兩點點不同:

1、第一個參數永遠是 self ,並且調用時不用傳遞該參數。

2、在類中函數相互調用要加 self ,不加,會報錯:函數未定義。

self 就是把 class 中 定義的 變量和函數 變成 實例變量和實例函數,作為類 class 的成員,使得成員間能互相調用,而不需要從外部調用 數據(即變量)和 方法(即 函數),以實現數據的封裝

函數def _init_(self,name,score),用於創建實例時,將必須綁定在實例上的屬性強制綁定上去。

p:類函數參數除了第一個參數必須是self且不用傳參之外,其他參數使用和普通函數一樣,可以使用默認參數,可變參數和關鍵字參數,(*args是可變參數,args接收的是一個tuple,**kw是關鍵字參數,kw接收的是一個dict)。

python 中一些特殊的實例變量:

1、私有變量(private),只有內部可以訪問,外部不能訪問,私有變量是在名稱前以兩個下划線開頭,如:__name,其實私有變量也不是完全不能被外部訪問,不能直接訪問是因為python解釋器對外把 __name 變量改成了 _類名__name,所仍然可以通過 _類名__name 來訪問 __name .

2、在Python中,變量名類似__xxx__的,也就是以雙下划線開頭,並且以雙下划線結尾的,是特殊變量,特殊變量是可以直接訪問的,不是private變量,所以,不能用__name__、__score__這樣的變量名。

3、以一個下划線開頭的實例變量名,比如_name,這樣的實例變量外部是可以訪問的,但是,按照約定俗成的規定,當你看到這樣的變量時,意思就是,“雖然我可以被訪問,但是,請把我視為私有變量,不要隨意訪問”

參考:

https://blog.csdn.net/xrinosvip/article/details/89647884 


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM