回答
my_dictionary = {
1: 'something',
2: 'some other thing',
}
+1爲尾隨逗號。 – RichieHindle 2009-09-16 09:16:31
起初,我不喜歡列表,字典等尾隨逗號的效用,但它*真正*簡化了列表的後續編輯,無論您是重新排序,複製/粘貼還是添加新項目。 – PaulMcG 2009-09-16 12:14:33
添加一行是逗號的單行比較。 – u0b34a0f6ae 2009-09-16 13:27:37
我想說幾乎沒有標準。
我見過縮進的方式有兩種:
Indent 1:
my_dictionary = {
'uno': 'something',
'number two': 'some other thing',
}
Indent 2:
my_dictionary = {'uno': 'something',
'number two': 'some other thing',
}
我看到過三放置有尾架:
End 1:
my_dictionary = {'uno': 'something',
'number two': 'some other thing',
}
End 2:
my_dictionary = {'uno': 'something',
'number two': 'some other thing',
}
End 3:
my_dictionary = {'uno': 'something',
'number two': 'some other thing',}
有時你辯解值:
my_dictionary = {'uno': 'something',
'number two': 'some other thing',
}
有時甚至是冒號:
my_dictionary = {'uno' : 'something',
'number two' : 'some other thing',
}
看起來很奇怪。
有時你有一個結束逗號,有時不是:
my_dictionary = {'uno': 'something',
'number two': 'some other thing'}
有時候你堅持都放在同一行(如果它符合)。
my_dictionary = {'uno': 'something', 2: 'some other thing'}
每個人似乎都有自己的這些風格的組合。就我個人而言,我傾向於使用你的例子中的風格,除非有理由不這樣做。當您將字典作爲陳述的一部分時,常見的原因不是。像這樣:
amethodthattakesadict({'hey': 'this',
'looks': 'a',
'bit': 'shitty',
})
我建議你適應編寫代碼的人的風格。如果這是你的代碼:只要你喜歡。 :-)
關於最終括號:我喜歡這樣的:
my_dictionary = {
'a': 'first value',
'b': 'second',
}
,我會告訴你爲什麼:因爲Python代碼縮進有沒有關閉的記號,代碼縮進這樣的:第一行(if,while,def等)從該子句的其餘部分縮進,其餘所有行縮進相同的數量。該條款的最後一行與其他所有內容一起縮進。下一行縮進與第一行相同,是下一個子句的第一行,而不是這一行的最後一行。
因此,我喜歡使用與代碼子句類似的約定縮進數據結構,即使數據結構具有明確的結束標記,因此可以具有更大的靈活性。
我這樣做,如果字典是太大,無法在同一行:
d = \
{
'a' : 'b',
'c' : 'd'
}
縮進風格1,結束樣式3(倫納特的回答後):
my_dictionary = {1: 'thing_one',
2: 'thing_two',
...
n: 'thing_n'}
這可能是Python代碼中括號內實體的最無縫縮進樣式,因爲它非常類似於Python的空白格式。在Python代碼中刪除C樣式的縮進對我來說總是顯得有些尷尬,我懷疑它最常用,因爲習慣於類C語言的程序員(因爲它們無處不在)可能沒有暴露於不同的縮進樣式。
一個缺點可能是插入開始或結束比其他樣式困難一些。考慮到支持編寫Python代碼的適當的編輯器,它不應該有很大的區別。
在上下文中嘗試使用此縮進樣式,並將其與C樣式縮進並排比較,然後確定哪一個看起來更加pythonic和一致。
也許這可以被稱爲Lisp風格壓痕,因爲它是在Lisp代碼,因爲
百年
幾十年來一直縮進的方式,但它是,例如,還經常在Smalltalk代碼中使用。在討論放置括號時(通過Lisp類似的語言),你經常會閱讀的一件事是:「爲什麼要給他們多一些線,他們是否重要?」。
儘管如此,它仍然是一件有趣的事情。
- 1. 實體框架約定
- 2. 實體框架4約定
- 3. 我得到支架在Python
- 4. Python命名約定
- 5. 對Python合約的Hyperledger支持
- 6. Python init文件名約定
- 7. Python PEP8:空白行約定
- 8. python中的評論約定
- 9. Python包名稱約定
- 10. Python命名約定 - namedtuples
- 11. 約dbo架構
- 12. 後繼分支的Git命名約定?
- 13. 管理深度嵌套支架模式的好Haskell約定是什麼?
- 14. SQL Server 2008架構命名約定
- 15. 星型架構命名約定
- 16. 瞭解實體框架4.1約定
- 17. R7和與ARM架構調用約定
- 18. Rails數據庫/模型架構約定
- 19. 1to1關係的實體框架約定
- 20. 實體框架表名約定
- 21. 實體框架忽略約定
- 22. MongoDB的架構設計命名約定
- 23. 實體框架的rowversion約定配置
- 24. Python Windrose傳奇支架格式和loc
- 25. Python嵌套列表支架刪除
- 26. 機器人框架支持Python 3.x
- 27. Python從右到左支持GUI框架
- 28. 在支架中運行python程序
- 29. Python web框架與CRUD支持AJAX
- 30. 約曼不需額外支架骨幹應用
民意調查應該是社區維基 – SilentGhost 2009-09-16 09:29:42