2014-01-12 54 views
1

我習慣以這種方式命名的Python參數:Python命名中尾部下劃線的優點是什麼?

my_argument='foo' 

有什麼優勢,如果我這樣做,而不是:

my_argument_='foo" 

如通過PEP008建議?

尾隨下劃線必須有一個很好的理由,那它是什麼?

+0

我在PEP-8中沒有看到任何建議調用參數'my_argument_'優先於'my_argument'。 –

回答

8

準確地說它在PEP中給出了什麼:它允許你使用本來是Python關鍵字的東西。

as_ 
with_ 
for_ 
in_ 
+0

對不起,我只是基本上重複你的答案,但你擊敗了我! – user3002473

+0

如果我不想使用這些關鍵字,該怎麼辦?會不會突出顯示沒有拖尾是更好的選擇? – Mario

+0

無論您是否想要使用它們,關鍵字都會存在。你不能改變這一點。 –

1

這樣通常命名約定沒有在Python任何經驗的目的(即他們沒有做什麼特別的東西)除了避免關鍵字之間的衝突。例如,你不會命名變量class你會嗎?您將其命名爲class_以避免與內置關鍵字衝突。

+0

不同意你對'_single_leading_underscore',PEP8:'_single_leading_underscore:弱「內部使用」指標的評價。例如。從M導入*不導入名稱以下劃線開頭的對象。' – zhangxaochen

+0

好吧,謝謝你的提示。我從答案中刪除了它。 – user3002473

3

PEP8確實不是推薦這個命名約定,除了名稱,否則將與關鍵字衝突的名稱。 my_argument顯然不會發生衝突,所以沒有理由使用下劃線,並且PEP8不建議您這麼做。

+0

謝謝你的回答,但我沒有足夠的聲望投票。 – Mario

相關問題