为什么看 Python 的代码,有时候会在数据结构的最后一项末尾加上逗号。直接来看,这个逗号很多余。
根据 PEP81 的解释:
Trailing commas are usually optional, except they are mandatory when making a tuple of one element
这里说末尾逗号不是必填的,除非你写了一个只有一个元素的元祖。
所以这么多人写的代码风格都是多余的?
不是的。PEP8 在上面一句的后来接着写道,末尾的代码可以帮助减少 bug:
比如多人协作项目,一个列表的项可能由不同的人添加,你留着一个逗号可以帮助下一个修改的人减少出 bug 的几率。
因为两个被引号包裹的字符串,会有自动合并功能。所以这也是一个潜在的 bug。
PEP8 继续提到,适合在结尾加上额外逗号的代码类似下面这样,末项以逗号结尾,再起一行加上闭合括号:
FILES = [
'setup.cfg',
'tox.ini',
]
initialize(FILES,
error=True,
)
但是,如果代码是下面这种形式,末尾逗号和闭合括号是紧连的,那这个逗号就没有必要了:
FILES = ['setup.cfg', 'tox.ini',]
initialize(FILES, error=True,)
转载于:https://www.cnblogs.com/thomaszdxsn/p/shen-me-shi-houPython-deListTuple-zui-hou-yi-geIte.html