python 里面的單下划線與雙下划線的區別


python 里面的單下划線與雙下划線的區別

 

Python 用下划線作為變量前綴和后綴指定特殊變量。


_xxx 不能用'from moduleimport *'導入

__xxx__ 系統定義名字

__xxx 類中的私有變量名


核心風格:避免用下划線作為變量名的開始。


因為下划線對解釋器有特殊的意義,而且是內建標識符所使用的符號,我們建議程序員避免用下

划線作為變量名的開始。一般來講,變量名_xxx被看作是“私有 的”,在模塊或類外不可以使用。

當變量是私有的時候,用_xxx 來表示變量是很好的習慣。因為變量名__xxx__對Python 來說

有特殊含義,對於普通的變量應當避免這種命名風格。


"單下划線" 開始的成員變量叫做保護變量,意思是只有類對象和子類對象自己能訪問到這些變量;

"雙下划線" 開始的是私有成員,意思是只有類對象自己能訪問,連子類對象也不能訪問到這個數

據。

 

以單下划線開頭(_foo)的代表不能直接訪問的類屬性,需通過類提供的接口進行訪問,不

能用“from xxx import *”而導入;以雙下划線開頭的(__foo)代表類的私有成員;以雙下划

線開頭和結尾的(__foo__)代表python里特殊方法專用的標識,如 __init__()代表類的構

造函數。

 

結論:

1、_xxx 不能用於’from module import *’ 以單下划線開頭的表示的是protected類型的變量。

即保護類型只能允許其本身與子類進行訪問。

2、__xxx 雙下划線的表示的是私有類型的變量。只能是允許這個類本身進行訪問了。連子類也

不可以

3、__xxx___ 定義的是特列方法。像__init__之類的


免責聲明!

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



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