Python 中5种下划线的含义都是什么?
今天給大家科普一波,單下劃線和雙下劃線在Python變量和方法名稱的含義。有一些含義僅僅是依照約定,被視作提示,而有一些含義是由Python解釋器嚴格執行的。在Python變量和方法名稱中各種單下劃線和雙下劃線的含義是什么?
下面我們將討論5種下劃線模式和命名約定,以及它們如何影響Python程序的行為:
單前導下劃線:_var
單末尾下劃線:var_
雙前導下劃線:_ _var
雙前導和末尾下劃線:_ var _
單下劃線:_
1、單前導下劃線:_var
說明:
當涉及到變量和方法名稱時,單個下劃線前綴有一個約定俗成的含義。
下劃線前綴的含義是:以單個下劃線開頭的變量或方法僅供內部使用。
這不是Python強制規定的,Python不像Java那樣在“私有”和“公共”變量之間有很強的區別。
小結:
單個下劃線是一個Python命名約定,表示這個名稱是供內部使用的。它通常不由Python解釋器強制執行,僅僅作為一種對程序員的提示。
2、單末尾下劃線:var_
說明:
有時候一個變量的最合適的名稱已經被一個關鍵字所占用, 因此,像class或def這樣的名稱不能用作Python中的變量名稱。
小結:
總之,單個末尾下劃線(后綴)是一個約定,用來避免與Python關鍵字產生命名沖突。
3、雙前導下劃線:__var
說明:
目前為止,我們所涉及的所有命名模式的含義,來自于已達成共識的約定。而對于以雙下劃線開頭的Python類的屬性(包括變量和方法),情況就有點不同。雙下劃線前綴會導致Python解釋器重寫屬性名稱,以避免子類中的命名沖突。這也叫做名稱修飾 - 解釋器更改變量的名稱,以便在類被擴展的時候不容易產生沖突。
小結:
名稱修飾不是專門與類屬性關聯的。它適用于在類上下文中使用的兩個下劃線字符開頭的任何名稱。
4、雙前導和雙末尾下劃線:var
說明:
如果一個名字同時以雙下劃線開始和結束,則不會應用名稱修飾。
Python保留了有雙前導和雙末尾下劃線的名稱,用于特殊用途。這樣的例子有,init__對象構造函數,或__call ,它使得一個對象可以被調用。
小結:
最好避免在自己的程序中使用以雙下劃線開頭和結尾的名稱,以避免與將來Python語言的變化產生沖突。
5、單下劃線:_
說明:
按照習慣,有時候單個獨立下劃線是用作一個名字,來表示某個變量是臨時的或無關緊要的。
小結:
除了用作臨時變量之外,“_”是大多數Python REPL中的一個特殊變量,它表示由解釋器評估的最近一個表達式的結果。
總結
以上是生活随笔為你收集整理的Python 中5种下划线的含义都是什么?的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: js动态设置鼠标悬浮
- 下一篇: 计算机基础之透析我家的组装机