當前位置:
首頁 > 知識 > 【速查表】Python下劃線的含義,熟悉又陌生的東西!

【速查表】Python下劃線的含義,熟悉又陌生的東西!

1. 單前導下劃線 _var

當涉及到變數和方法名稱時,單個下劃線前綴有一個約定俗成的含義。 它是對程序員的一個提示 - 意味著Python社區一致認為它應該是什麼意思,但程序的行為不受影響。下劃線前綴的含義是告知其他程序員:以單個下劃線開頭的變數或方法僅供內部使用。 該約定在PEP 8中有定義。


2. 單末尾下劃線 var_


有時候,一個變數的最合適的名稱已經被一個關鍵字所佔用。 因此,像class或def這樣的名稱不能用作Python中的變數名稱。 在這種情況下,你可以附加一個下劃線來解決命名衝突。




3. 雙前導下劃線 __var


雙下劃線前綴會導致Python解釋器重寫屬性名稱,以避免子類中的命名衝突。這也叫做名稱修飾(name mangling) - 解釋器更改變數的名稱,以便在類被擴展的時候不容易產生衝突。



4. 雙前導和雙末尾下劃線 _var_


也許令人驚訝的是,如果一個名字同時以雙下劃線開始和結束,則不會應用名稱修飾。 由雙下劃線前綴和後綴包圍的變數不會被Python解釋器修改。但是,Python保留了有雙前導和雙末尾下劃線的名稱,用於特殊用途。 這樣的例子有,__init__對象構造函數,或__call__ --- 它使得一個對象可以被調用。這些dunder方法通常被稱為神奇方法 - 但Python社區中的許多人都不喜歡這種方法。最好避免在自己的程序中使用以雙下劃線(「dunders」)開頭和結尾的名稱,以避免與將來Python語言的變化產生衝突。




5.單下劃線 _


按照習慣,有時候單個獨立下劃線是用作一個名字,來表示某個變數是臨時的或無關緊要的。你也可以在拆分(unpacking)表達式中將單個下劃線用作「不關心的」變數,以忽略特定的值。 同樣,這個含義只是「依照約定」,並不會在Python解釋器中觸發特殊的行為。 單個下劃線僅僅是一個有效的變數名稱,會有這個用途而已。




以下是一個簡短的小結,羅列了五種常用的Python下劃線模式的含義:







喜歡這篇文章嗎?立刻分享出去讓更多人知道吧!

本站內容充實豐富,博大精深,小編精選每日熱門資訊,隨時更新,點擊「搶先收到最新資訊」瀏覽吧!

TAG: |