>>> x = ()
>>> type(x)
tuple
Run Code Online (Sandbox Code Playgroud)
我一直认为,元组文字是“构造函数”,因为在所有其他情况下,创建元组文字都需要逗号(并且括号似乎几乎是多余的,除了可读性之外):
>>> y = (1)
>>> type(y)
int
>>> z = (1,)
>>> type(z)
tuple
>>> a = 1,
>>> type(a)
tuple
Run Code Online (Sandbox Code Playgroud)
为什么会出现()异常呢?综合以上来看,它的回归似乎更有意义None。实际上:
>>> b = (None)
>>> type(b)
NoneType
Run Code Online (Sandbox Code Playgroud)
我认为这是因为我们希望能够构造空元组,并且(,)语法无效。基本上,在某个地方决定逗号至少需要一个元素。文档中注明了 0 和 1 元素元组的特殊情况: https: //docs.python.org/3/tutorial/datastructs.html#tuples-and-sequences。