何時Python的List,Tuple最後一個Item後面要加上一個逗號

爲何看Python的代碼,有時候會在數據結構的最後一項末尾加上逗號。直接來看,這個逗號不少餘。python

根據PEP81的解釋:數據結構

Trailing commas are usually optional, except they are mandatory when making a tuple of one elementurl

這裏說末尾逗號不是必填的,除非你寫了一個只有一個元素的元祖。.net

因此這麼多人寫的代碼風格都是多餘的?code

不是的。PEP8在上面一句的後來接着寫道,末尾的代碼能夠幫助減小bug:element

  1. 好比多人協做項目,一個列表的項可能由不一樣的人添加,你留着一個逗號能夠幫助下一個修改的人減小出bug的概率
  2. 由於兩個被引號包裹的字符串,會有自動合併功能。因此這也是一個潛在的bug

PEP8繼續提到,適合在結尾加上額外逗號的代碼相似下面這樣,末項以逗號結尾,再起一行加上閉合括號:字符串

FILES = [
    'setup.cfg',
    'tox.ini',
    ]
initialize(FILES,
           error=True,
           )

可是,若是代碼是下面這種形式,末尾逗號和閉合括號是緊連的,那這個逗號就沒有必要了:get

FILES = ['setup.cfg', 'tox.ini',]
initialize(FILES, error=True,)
相關文章
相關標籤/搜索