为什么元组只有单个元素时加逗号结尾?
2019-06-01 14:36:34
用交互式输入:
>>> yz=(1) >>> yz 1
>>> yz1=(1,)
>>> yz1
(1,)
发现没有以逗号结尾也可以创建并输出不过前者输出是整数1,后者输出是元组(1,)。难道前者没有创建一个元组吗?我们来检查上面两个“元组”得到类型:
>>> type(yz) <class 'int'> >>> type(yz1) <class 'tuple'>
这回我们发现前者yz只是一个整型变量,而后者yz1才是一个元组。这是因为符号()是一个运算符,当括号中只有数字时并不会创建一个元组。而且元组之间可以进行加法运算(仅此而且)如
>>> yz=(1) >>> yz1=(1,) >>> yz2=(1,2) >>> yz+yz2 Traceback (most recent call last): File "<pyshell#89>", line 1, in <module> yz+yz2 TypeError: unsupported operand type(s) for +: 'int' and 'tuple' >>> yz1+yz2 (1, 1, 2)
从错误类型中我们也可以看出yz是一个整型数据。
版权声明:本文为shuxincheng原创文章,遵循 CC 4.0 BY-SA 版权协议,转载请附上原文出处链接和本声明。