列表适合于在程序运行的时候,数据会发生改变的场合。但是有时候,我们不希望有些值被更改,希望它们在整个程序运行周期都不能被改变,Python将不能修改的值称为不可变的,而不可变的列表被称为元组。元组是不可变对象,之前的字符串也是不可变对象。
元组是由逗号标识的,例如下面的示例:
my_tuple = 1,2,3,4,5
print(my_tuple)
print(type(my_tuple)) # type函数可以返回对象的类型
程序执行结果如下所示:
my_tuple对象是元组类型。我们通常在定义元组的时候会使用圆括号()将元组给包括起来。但是圆括号并不是元组的标识。下面的例子展示了更多的关于元组的细节。
tuple_1 = 1, # 定义只有一个元素的元组,必须加上逗号,否则python解释器就会认为tuple_1指向一个整形变量,而非元组
tuple_2 = () # 定义空元组
tuple_3 = (1,2,3) # 一个常见的元组
print(len(tuple_1))
print(len(tuple_2))
print(len(tuple_3))
程序的执行结果如下图所示:
下面来尝试改变元组中元素的值,看看python解释器会报出什么样的错误信息。
my_tuple = 1,2,3,4,5
my_tuple[0] = 0 # 错误,不能修改不可变对象
尝试执行程序,可以看到错误提示如下:
元组中的元素不能被修改(包括增加,删除,更新),除此之外。元组和列表没有什么不同。如何访问列表,那就能如何访问元组。下面是一个例子。
my_tuple = 1,2,3,4,5
for i in my_tuple:
print(i)
程序执行结果如下所示: