2016-08-23 5 views
7

で変数名の後に、私は他の誰かのコードを解読していると私は、次を参照してください。アンダーPythonの

def get_set_string(set_): 
    if PY3: 
     return str(set_) 
    else: 
     return str(set_) 

変数AFTERアンダースコアが何を意味するのか、変数の名前のこの一部だけで、何の意味もありません?

+0

名前の一部です。あなたは著者に尋ねる必要があります。 –

+5

名前をシャドーイングするのを避けるために組み込みセット型の 'set'と区別する必要があります(*" 'single_trailing_underscore_':Pythonキーワード "*"との競合を回避するために規約で使用されています)(https://www.python .org/dev/peps/pep-0008 /#記述的命名スタイル)。 – jonrsharpe

+0

これを明確にしていただきありがとうございます – nanachan

答えて

9

セマンティクスは末尾のアンダースコアに関連付けられていません。 PEP 8、Python用スタイルガイドによると、ユーザーは末尾を使用するように促しているPythonのキーワードおよび/またはPythonの組み込み関数と競合しないようにするためにアンダースコア:

single_trailing_underscore_:Pythonのキーワードとの競合を避けるために、大会で使用されます、例えばset_を使用して

Tkinter.Toplevel(master, class_='ClassName')

はビルトインセットの名前、すなわちsetは、影の関数呼び出しの際にその既知の参照を失う取得しないことを意味します。

4

何も意味しません。私はこれを書いた人がセットを指定する変数名を望んでいたと信じていますが、setはPythonの型です(セットを作成する)ので、アンダースコアを追加しました。

関連する問題