爲何看Python的代碼,有時候會在數據結構的最後一項末尾加上逗號。直接來看,這個逗號不少餘。python
根據PEP81的解釋:數據結構
Trailing commas are usually optional, except they are mandatory when making a tuple of one elementurl
這裏說末尾逗號不是必填的,除非你寫了一個只有一個元素的元祖。.net
因此這麼多人寫的代碼風格都是多餘的?code
不是的。PEP8在上面一句的後來接着寫道,末尾的代碼能夠幫助減小bug:element
- 好比多人協做項目,一個列表的項可能由不一樣的人添加,你留着一個逗號能夠幫助下一個修改的人減小出bug的概率
- 由於兩個被引號包裹的字符串,會有自動合併功能。因此這也是一個潛在的bug
PEP8繼續提到,適合在結尾加上額外逗號的代碼相似下面這樣,末項以逗號結尾,再起一行加上閉合括號:字符串
FILES = [ 'setup.cfg', 'tox.ini', ] initialize(FILES, error=True, )
可是,若是代碼是下面這種形式,末尾逗號和閉合括號是緊連的,那這個逗號就沒有必要了:get
FILES = ['setup.cfg', 'tox.ini',] initialize(FILES, error=True,)