python 五種下划線含義


原文:https://zhuanlan.zhihu.com/p/36173202

 

  • 單前導下划線:_var
  • 單末尾下划線:var_
  • 雙前導下划線:__var
  • 雙前導和末尾下划線:__var__
  • 單下划線:_

1. 單前導下划線 _var

  下划線前綴的含義是告知其他程序員:以單個下划線開頭的變量或方法僅供內部使用。 該約定在PEP 8中有定義。注意,外部仍然可以調用

單個下划線是一個Python命名約定,表示這個名稱是供內部使用的。 它通常不由Python解釋器強制執行,僅僅作為一種對程序員的提示  

 

2. 單末尾下划線 var_

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

 

3. 雙前導下划線 __var

  雙下划線前綴會導致Python解釋器重寫屬性名稱,以避免子類中的命名沖突。

  這也叫做名稱修飾(name mangling) - 解釋器更改變量的名稱,以便在類被擴展的時候不容易產生沖突。

  在類上下文中使用,用於內部被調用,外部無法看到(完全私有,不同於單前下划線,那個是可以外部調用的)

 

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

  魔術方法。

 

5.單下划線 _

  按照習慣,有時候單個獨立下划線是用作一個名字,來表示某個變量是臨時的或無關緊要的。

例如,在下面的循環中,我們不需要訪問正在運行的索引,我們可以使用“_”來表示它只是一個臨時值:

>>> for _ in range(32):
...    print('Hello, World.')

  你也可以在拆分(unpacking)表達式中將單個下划線用作“不關心的”變量,以忽略特定的值。 同樣,這個含義只是“依照約定”,並不會在Python解釋器中觸發特殊的行為。 單個下划線僅僅是一個有效的變量名稱,會有這個用途而已。


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM