为什么单个元素的元组要加上逗号?

        初学python的同学可能无法理解,为什么单个元素的元组要在后面加上逗号呢,如a=(123,)。看完下面的例子,我想各位应该就清楚了。

>>> a=(1,2)
>>> b=(3)
>>> c=a+b
Traceback (most recent call last):
  File "<interactive input>", line 1, in <module>
TypeError: can only concatenate tuple (not "int") to tuple
>>> d=(3,)
>>> c=a+d
>>> print c
(1, 2, 3)
         仔细看看错误信息:“TypeError: can only concatenate tuple (not "int") to tuple”。原来python解释器把(3)当作一个算数表达式来处理的,它的结果就是一个int型对象。为了和只有单个元素的元组区分,python规定要在元素后面带上一个逗号,例如d=(3,)。
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章