python 裡面的單下劃線與雙下劃線的區別

2021-07-29 11:51:09 字數 840 閱讀 6434

python 用下劃線作為變數字首和字尾指定特殊變數。

_*** 不能用'from moduleimport *'匯入

__***__ 系統定義名字

__*** 類中的私有變數名

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

因為下劃線對直譯器有特殊的意義,而且是內建識別符號所使用的符號,我們建議程式設計師避免用下

劃線作為變數名的開始。一般來講,變數名_***被看作是「私有 的」,在模組或類外不可以使用。

當變數是私有的時候,用_*** 來表示變數是很好的習慣。因為變數名__***__對python 來說

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

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

"雙下劃線" 開始的是私有成員,意思是只有類物件自己能訪問,連子類物件也不能訪問到這個數 據。

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

能用「from *** import *」而匯入;以雙下劃線開頭的(__foo)代表類的私有成員;以雙下劃

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

造函式。

結論:

1、_*** 不能用於』from module import *』 以單下劃線開頭的表示的是protected型別的變數。

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

2、__*** 雙下劃線的表示的是私有型別的變數。只能是允許這個類本身進行訪問了。連子類也

不可以3、__***___ 定義的是特列方法。像__init__之類的

python 裡面的單下劃線與雙下劃線的區別

主要存在四種命名 1.object 公用方法 2.object 內建方法,使用者不要這樣定義 3.object 全私有,全保護 4.object 半保護核心風格 避免用下劃線作為變數名的開始。因為下劃線對直譯器有特殊的意義,而且是內建識別符號所使用的符號,我們建議程式設計師避免用下劃線作為變數名的開...

python 裡面的單下劃線與雙下劃線的區別

python 用下劃線作為變數字首和字尾指定特殊變數。不能用 from moduleimport 匯入 系統定義名字 類中的私有變數名 核心風格 避免用下劃線作為變數名的開始。因為下劃線對直譯器有特殊的意義,而且是內建識別符號所使用的符號,我們建議程式設計師避免用下 劃線作為變數名的開始。一般來講,...

python 裡面的單下劃線與雙下劃線的區別

python 用下劃線作為變數字首和字尾指定特殊變數。不能用 from moduleimport 匯入 系統定義名字 類中的私有變數名 核心風格 避免用下劃線作為變數名的開始。因為下劃線對直譯器有特殊的意義,而且是內建識別符號所使用的符號,我們建議程式設計師避免用下 劃線作為變數名的開始。一般來講,...