在 Python 中,元组是一种不可变的序列类型。定义元组时,有一个特殊的语法规则需要注意:
- 当你定义一个空元组时,例如
a = ()
,这确实是一个元组,a
的类型是tuple
。 - 当你定义一个包含单个元素的元组时,例如
b = (1)
,这实际上是一个整数,因为括号可以同时用于改变表达式的优先级。如果你希望b
是一个包含单个元素的元组,你需要在元素后面加一个逗号,例如b = (1,)
。
解释
b = (1)
:括号在这里并没有特殊意义,只是一个普通的整数,所以b
的类型是int
。b = (1,)
:逗号表示你正在定义一个包含单个元素的元组,因此b
的类型是tuple
。
例子
a = ()
print(type(a)) # 输出:<class 'tuple'>
b = (1)
print(type(b)) # 输出:<class 'int'>
c = (1,)
print(type(c)) # 输出:<class 'tuple'>
在定义单个元素的元组时,逗号是必须的,以避免 Python 将其误认为是一个普通的表达式。