为什么在表达式创建元组后添加尾随逗号?

新手上路,请多包涵

为什么在表达式后添加尾随逗号会创建 tuple 以及表达式的值?例如在这段代码中:

 >>> abc = 'mystring',
>>> print(abc)
('mystring',)

为什么打印输出是 ('mystring',) 而不仅仅是 mystring

原文由 Avadhesh 发布,翻译遵循 CC BY-SA 4.0 许可协议

阅读 402
2 个回答

重要的是逗号,而不是括号。 Python 教程说:

一个元组由许多用逗号分隔的值组成

括号用于消除其他使用逗号的地方的歧义,例如,使您能够嵌套或输入元组作为参数列表的一部分。

请参阅 有关元组和序列的 Python 教程部分

原文由 Ben James 发布,翻译遵循 CC BY-SA 2.5 许可协议

因为这是用一个元素编写元组文字的唯一方法。对于列表文字,必要的括号使语法独一无二,但因为括号也可以表示分组,所以将表达式括在括号中不会将其变成元组:您需要一个不同的语法元素,在本例中为逗号。

原文由 Philipp 发布,翻译遵循 CC BY-SA 2.5 许可协议

撰写回答
你尚未登录,登录后可以
  • 和开发者交流问题的细节
  • 关注并接收问题和回答的更新提醒
  • 参与内容的编辑和改进,让解决方法与时俱进
推荐问题