導航:首頁 > 編程語言 > python前後雙下劃線什麼意思

python前後雙下劃線什麼意思

發布時間:2022-12-26 05:15:10

python中的下橫線是什麼意思

Python中的下橫線是什麼意思

下劃線一般有兩種情況:

1、兩邊都有兩個下劃線的情況:這一般是指內建預定義屬性,這種內建預定義屬性。

2、中間一根下劃線:這個命名中兩個單詞的分割線,這個以前OO編程中單詞首字母大寫差不多一個作用,只不過一般python的模塊函數編程會用下劃線分割這種方式。

更多技術請關注Python視頻教程。

㈡ python中_,__和__X__的區別與作用

x:表示該函數或該成員變數屬於類私有,不允許外部調用
x :表示一個變數的名字,只不過單獨的x被python內部認為是關鍵字了,已經被佔用,所以用x_表示一個新的變數名.

表示這是該類獨有的函數,不允許子類重寫
只能在類內部調用

前後都有雙下劃線,說明它是用於Python調用的

更多內容請戳

㈢ python 變數單下劃線和雙下劃線的區別

1、_xxx 不能用於』from mole import *』 以單下劃線開頭的表示的是protected類型的變數。
即保護類型只能允許其本身與子類進行訪問。
2、__xxx 雙下劃線的表示的是私有類型的變數。只能是允許這個類本身進行訪問了。連子類也
不可以
3、__xxx___ 定義的是特列方法。像__init__之類的

㈣ Python中下劃線是什麼意思

下劃線是一個匿名變數

㈤ python中以下劃線開頭的變數名的含義

_xx:前面單個下劃線,私有化屬性或方法,變數不能被外部直接調用
__xx:前面兩條下劃線,私有化屬性或方法,無法在外部直接訪問,只允許類本身調用
__xx__:前後兩條下劃線,系統定義名字,對Python 來說有特殊用途
xx_:後面單條下劃線,用於避免與Python關鍵詞的沖突

㈥ python變數賦值時,值前面加下劃線是什麼意思

加一條下劃線一般表示私有變數。如果是兩邊都加兩個下劃線一般是語言內置變數或方法等。

㈦ python下劃線定義屬性

類的私有變數和私有方法

在Python中可以通過在屬性變數名前加上雙下劃線定義屬性為私有屬性

特殊變數命名

1、 _xx 以單下劃線開頭的表示的是protected類型的變數。即保護類型只能允許其本身與子類進行訪問。若內部變數標示,如: 當使用「from M import」時,不會將以一個下劃線開頭的對象引入 。

2、 __xx 雙下劃線的表示的是私有類型的變數。只能允許這個類本身進行訪問了,連子類也不可以用於命名一個類屬性(類變數),調用時名字被改變(在類FooBar內部,__boo變成_FooBar__boo,如self._FooBar__boo)

3、 __xx__定義的是特列方法。用戶控制的命名空間內的變數或是屬性,如init , __import__或是file 。只有當文檔有說明時使用,不要自己定義這類變數。 (就是說這些是python內部定義的變數名)

在這里強調說一下私有變數,python默認的成員函數和成員變數都是公開的,沒有像其他類似語言的public,private等關鍵字修飾.但是可以在變數前面加上兩個下劃線"_",這樣的話函數或變數就變成私有的.這是python的私有變數軋壓(這個翻譯好拗口),英文是(private name mangling.) **情況就是當變數被標記為私有後,在變數的前端插入類名,再類名前添加一個下劃線"_",即形成了_ClassName__變數名.**

Python內置類屬性

__dict__ : 類的屬性(包含一個字典,由類的數據屬性組成)

__doc__ :類的文檔字元串

__mole__: 類定義所在的模塊(類的全名是'__main__.className',如果類位於一個導入模塊mymod中,那麼className.__mole__ 等於 mymod)

__bases__ : 類的所有父類構成元素(包含了一個由所有父類組成的元組)

㈧ python中下劃線命名的含義

python中有五種下劃線命名;
(1)單前導下劃線: var
以單個下劃線開頭的變數或方法僅供內部使用,但是不強制執行。通過類名.變數名依然可以引用,但是在使用通配符導入模塊(from 模塊 import *)時,不能調用使用下劃線定義的函數,而常規導入(import 模塊)是可以調用的。
(2)單末尾下劃線:var
當最符合當前函數的變數名被佔用,則可以使用_來解決命名沖突。單個末尾下劃線(後綴)是一個約定,用來避免與Python關鍵字產生命名沖突。
(3)雙前導下劃線:_ var
雙下劃線前綴會導致Python解釋器重寫屬性名稱,以避免子類中的命名沖突。
這也叫做名稱修飾(name mangling) - 解釋器更改變數的名稱,以便在類被擴展的時候不容易產生沖突。
(4)雙前導和末尾下劃線: var
Python保留了有雙前導和雙末尾下劃線的名稱,用於特殊用途。 這樣的例子有, init 對象構造函數,或 call --- 它使得一個對象可以被調用。最好避免在自己的程序中使用以雙下劃線(「nders」)開頭和結尾的名稱,以避免與將來Python語言的變化產生沖突。
(5)單下劃線:
有時候單個獨立下劃線是用作一個名字,來表示某個變數是臨時的或無關緊要的。單個下劃線僅僅是一個有效的變數名稱,會有這個用途而已。
總結:

參考: Python中下劃線的5種含義

㈨ python中,函數名前後的雙劃線有什麼作用

每一個mole都有一個叫__name__的變數,它的值就是mole的名字

比如os.__name__ 是"os",sys模塊的__name__是"sys"

__main__也是一個模塊,但是這個模塊比較特殊,其他的模塊都有一個對應的同名py文件,比如os.py, sys.py,這個模塊卻沒有對應的固定名字的py文件,不管你執行 什麼.py,它的名字都是__main__。它指的是正在運行的模塊,即主模塊。

上面說過,每個模塊都有__name__這個變數, 那麼主模塊也不例外,主模塊的__name__變數,值就是"__main__"

解釋了半天,再說你的問題:__name__和name是兩個不同的變數,__name__有定義而name沒有定義,使用沒有定義的變數就要出錯,這沒有什麼好說的。

例如你寫:
if name == '__main__':是一個變數未定義的錯誤

而當你寫 if __name__ == 'main':的時候,由於__name__的值其實是'__main__',所以if的條件為假,不會執行你的代碼。

最後,你可以自己寫一點測試代碼來探索這個問題,文件名就叫test.py,代碼也很簡單:

print(__name__)
importtest

輸出有兩行,第一行毫無疑問是__main__,第二行比較有意思,輸出是test,因為此時test.py作為一個模塊被import其__name__就是"test"。

㈩ 【變數】關於單下劃線、雙下劃線開頭變數的含義

以單下劃線(_)表明是標准庫的變數

雙下劃線(__) 開頭表明是編譯器的變數

建議自己在命名的時候不要用下劃線開頭,避免與標准庫中的命名沖突。

Python 用下劃線作為變數前綴和後綴指定特殊變數

_xxx 不能用 「from mole import *」 導入

__xxx__ 系統定義名字

__xxx 類中的私有變數名

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

因為下劃線對解釋器有特殊的意義,而且是內建標識符所使用的符號,我們建議程序員避免用下劃線作為變數名的開始。

一般來講,變數名_xxx被看作是「私有的」,在模塊或類外不可以使用,當變數是私有的時候,用_xxx 來表示變數是很好的習慣。因為變數名__xxx__對Python 來說有特殊含義,對於普通的變數應當避免這種命名風格。

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

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

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

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

以雙下劃線開頭和結尾的(__foo__)代表python里特殊方法專用的標識,如 __init__()代表類的構造函數。

閱讀全文

與python前後雙下劃線什麼意思相關的資料

熱點內容
dvd光碟存儲漢子演算法 瀏覽:757
蘋果郵件無法連接伺服器地址 瀏覽:962
phpffmpeg轉碼 瀏覽:671
長沙好玩的解壓項目 瀏覽:144
專屬學情分析報告是什麼app 瀏覽:564
php工程部署 瀏覽:833
android全屏透明 瀏覽:736
阿里雲伺服器已開通怎麼辦 瀏覽:803
光遇為什麼登錄時伺服器已滿 瀏覽:302
PDF分析 瀏覽:484
h3c光纖全工半全工設置命令 瀏覽:143
公司法pdf下載 瀏覽:381
linuxmarkdown 瀏覽:350
華為手機怎麼多選文件夾 瀏覽:683
如何取消命令方塊指令 瀏覽:349
風翼app為什麼進不去了 瀏覽:778
im4java壓縮圖片 瀏覽:362
數據查詢網站源碼 瀏覽:150
伊克塞爾文檔怎麼進行加密 瀏覽:892
app轉賬是什麼 瀏覽:163