python中下劃線 的用途

2021-09-08 13:21:09 字數 893 閱讀 9623

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

_***       不能用'from module import *'匯入

__***__  系統定義名字

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

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

因為下劃線對直譯器有特殊的意義,而且是內建識別符號所使用的符號,我們建議程式設計師避免用下劃線作為變數名的開頭。一般來講,變數名_***被看作是「私有的」,在模組或類外不可以使用。當變數是私有的時候,用_*** 來表示變數是很好的習慣。 因為變數名__***__對python 來說有特殊含義,對於普通的變數應當避免這種命名風格。

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

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

以單下劃線開頭(如_foo)的代表不能直接訪問的類屬性,需通過類提供的介面進行訪問,不能用「from *** import *」而匯入;

以雙下劃線開頭的(如__foo)代表類的私有成員;

以雙下劃線開頭和結尾的(__foo__)代表python裡特殊方法專用的標識,如 __init__() 代表類的建構函式。這種用法表示python中特殊的方法名。其實,這只是一種慣例,對python系統來說,這將確保不會與使用者自定義的名稱衝突。通常,你將會覆寫這些方法,並在裡面實現你所需要的功能,以便python呼叫它們。例如,當定義乙個類時,你經常會覆寫「__init__」方法。

一句話總結:_是受保護變數,類本身和子類可以訪問,from module import *無法匯入;

__是私有變數,只有類本身可以訪問,子類也不可以訪問;

__var__是python內建的命名規則,避免和使用者自定義的名稱衝突。

參考:1、

Python中下劃線說明

在python中經常看到方法或者變數前帶有下劃線,稍作解釋。1.前後雙下劃線 mtthod 這一般是系統定義的特殊方法,類似於類的構造方法 init 2.前單下劃線 以單下劃線開頭的變數指的是變數的許可權型別為protected,即是保護許可權的變數,該型別的變數只能通過其本身及子類的例項物件能夠訪...

Python中下劃線含義詳解

格式例子作用及含義單下劃線開頭 var僅供內部使用,通常不會有python直譯器強制執行末尾單下劃線var 單個末尾下劃線 字尾 是乙個約定,用來避免與python關鍵字產生命名衝突。雙下劃線開頭 var當在類上下文使用時,觸發 名詞修飾 由python直譯器強制執行雙下劃線開頭和結尾 var py...

python 類中下劃線的作用

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