2013-05-02 71 views
1

在一個模塊中,我應該使用一個,兩個還是沒有下劃線表示一個幫助函數,用戶應該調用而不是我應該用下劃線開始一個輔助函數嗎?

+0

單,雙下劃線的良好描述在這裏,http://stackoverflow.com/questions/1301346/the-meaning-of-a-雙下劃線之前的對象名稱在Python中 – 2013-05-02 21:47:04

回答

4

PEP-8, the Python Style Guide,建議一個單引號下劃線。

以下使用前導或尾隨下劃線被識別特殊形式(這些一般可以用任何情況下常規組合):

  • _single_leading_underscore:弱「內部使用」指示器。例如。 from M import *不導入名稱以下劃線開頭的對象。
  • ...
2

可能是一個單一的底線,但視情況而定。

具體而言,Python的設計指南(PEP 8)表示:

_single_leading_underscore:弱 「內部使用」 指示器。例如。從M import *不導入名稱以下劃線開頭的對象。

__double_leading_underscore __double_leading_underscore:命名類屬性時,調用名稱修改(在類FooBar中,__boo變爲_FooBar__boo;請參見下文)。

又見這個問題對一些更長的答案: What is the meaning of a single- and a double-underscore before an object name?

+0

在模塊中,雙下劃線會有什麼特別的作用?與單下劃線有什麼不同? – MarJamRob 2013-05-02 21:49:44

+0

是的,當它是班級的一部分時,它會觸發名稱修改。請參閱文檔以獲取完整說明:http://docs.python.org/2/tutorial/classes.html#private-variables-and-class-local-references – 2013-05-02 21:53:02

+1

一般而言,您主要使用它來防止小類覆蓋該方法。 – 2013-05-02 21:53:56

相關問題