我習慣以這種方式命名的Python參數:Python命名中尾部下劃線的優點是什麼?
my_argument='foo'
有什麼優勢,如果我這樣做,而不是:
my_argument_='foo"
如通過PEP008建議?
尾隨下劃線必須有一個很好的理由,那它是什麼?
我習慣以這種方式命名的Python參數:Python命名中尾部下劃線的優點是什麼?
my_argument='foo'
有什麼優勢,如果我這樣做,而不是:
my_argument_='foo"
如通過PEP008建議?
尾隨下劃線必須有一個很好的理由,那它是什麼?
準確地說它在PEP中給出了什麼:它允許你使用本來是Python關鍵字的東西。
as_
with_
for_
in_
對不起,我只是基本上重複你的答案,但你擊敗了我! – user3002473
如果我不想使用這些關鍵字,該怎麼辦?會不會突出顯示沒有拖尾是更好的選擇? – Mario
無論您是否想要使用它們,關鍵字都會存在。你不能改變這一點。 –
這樣通常命名約定沒有在Python任何經驗的目的(即他們沒有做什麼特別的東西)除了避免關鍵字之間的衝突。例如,你不會命名變量class
你會嗎?您將其命名爲class_
以避免與內置關鍵字衝突。
不同意你對'_single_leading_underscore',PEP8:'_single_leading_underscore:弱「內部使用」指標的評價。例如。從M導入*不導入名稱以下劃線開頭的對象。' – zhangxaochen
好吧,謝謝你的提示。我從答案中刪除了它。 – user3002473
PEP8確實不是推薦這個命名約定,除了名稱,否則將與關鍵字衝突的名稱。 my_argument
顯然不會發生衝突,所以沒有理由使用下劃線,並且PEP8不建議您這麼做。
謝謝你的回答,但我沒有足夠的聲望投票。 – Mario
我在PEP-8中沒有看到任何建議調用參數'my_argument_'優先於'my_argument'。 –