3

モジュール内で、ユーザーが呼び出してはならないヘルパー関数を示すために、1 つ、2 つ、またはまったくアンダースコアを使用する必要がありますか?

4

2 に答える 2

8

PEP-8 (Python スタイル ガイド) では、先頭に単一のアンダースコアを使用することを提案しています。

先頭または末尾にアンダースコアを使用する次の特殊な形式が認識されます (これらは通常、大文字と小文字の規則と組み合わせることができます)。

  • _single_leading_underscore: 弱い「内部使用」指標。たとえばfrom M import *、名前がアンダースコアで始まるオブジェクトはインポートされません。
  • ...
于 2013-05-02T21:43:43.977 に答える
2

おそらく単一のアンダースコアですが、状況によって異なります。

具体的には、Python スタイル ガイド (PEP 8) には次のように書かれています。

_single_leading_underscore: 弱い「内部使用」指標。たとえば from M import * は、名前がアンダースコアで始まるオブジェクトをインポートしません。

__double_leading_underscore: クラス属性に名前を付けるときに、名前マングリングを呼び出します (クラス FooBar 内では、__boo は _FooBar__boo になります。以下を参照してください)。

より長い回答については、この質問も参照してください: オブジェクト名の前の単一アンダースコアと二重アンダースコアの意味は何ですか?

于 2013-05-02T21:47:45.280 に答える