一尘不染

Python-在元组定义中使用逗号结尾的语法规则是什么?

python

在单个元素元组的情况下,需要尾随逗号。

a = ('foo',)

那么具有多个元素的元组呢?似乎尾随逗号是否存在,它们都有效。它是否正确?我认为使用逗号结尾更易于编辑。那是不好的编码风格吗?

a = ('foo1', 'foo2')
b = ('foo1', 'foo2',)

阅读 1015

收藏
2020-02-17

共1个答案

一尘不染

在所有情况下,除了空元组,逗号都是重要的事情。仅在出于其他语法原因而需要时才需要括号:将元组与一组函数参数,运算符优先级区分开或允许换行。

元组,列表或函数参数的尾部逗号是一种不错的样式,尤其是当你有一个长的初始化并分为多行时。如果始终包含尾随逗号,则不会在末尾添加任何行,而期望添加另一个元素,而只是创建一个有效的表达式:

a = [
   "a",
   "b"
   "c"
]

假设最初是由2个元素组成的列表,后来又进行了扩展,那么它以可能不是立即显而易见的方式出错了。始终添加结尾逗号,可以避免使用此陷阱。

2020-02-17