为什么python元组至少需要一个逗号?

时间:2020-06-14 17:58:08

标签: python

如果要创建一个只有一个值的元组,则需要在其后加上一个逗号:

(value,)

(value)

相同
value

为什么python具有这种语法?但这不是多余的吗?为什么不只将()用于元组?

1 个答案:

答案 0 :(得分:7)

括号也用于表达式分组,如以下示例所示:

a + b * c
(a + b) * c

只有一个表达式时,创建元组将非常困难且令人困惑。上面的示例是否应视为tuple([a+b]) * c?可能不会。那么如何区分(value)(value)?请记住,值也是表达式。

另一方面,您不要使用方括号或大括号对表达式进行分组,因此[a][a, b]具有相同的外观。为方便起见,[a,]也是有效的,并且与[a]相同。

这就是为什么单值元组需要额外的逗号。