之前的文章中介绍了Python中的字符串的操作,接下来了解Python中的另一个数据类型:元组(tuple)
元组一般用()标识,是一种有序的数据类型。里面可以存储各种格式的数据。
注意事项:空元组用()表示,元组里面只有一个元素时,必须要在元素后面加一个逗号,才表示元组,否则类型不是元组。
元组也可以省略()
tuplea = () #<class 'tuple'>
tuplea = (1) #<class 'int'>
tuplea = (1,) #<class 'tuple'>
tuplea = (1, 'A', 3.14, [123,345],{'Key':'VALUE'}) #<class 'tuple'>
a = 1,2,3,4,{1,2,3} #<class 'tuple'>
元组的话,可以执行的操作跟字符串很类似,比如切片等。坐标都是从0开始。
访问元组和访问列表类似
print(tup1[0])
print(tup1[2:4])
元组的值是不可以修改的(不支持增删改元素)。但是元素是列表时,可以修改列表里面的内容:
a = (1,2,3,[1,2])
print(a, id(a))
a[3].append(4)
print(a,id(a))
输出:
(1, 2, 3, [1, 2]) 2622536998080
(1, 2, 3, [1, 2, 4]) 2622536998080
元组中的拆包介绍:
创建元组,并将多个数据放到元组中,这个过程被称为元组打包。与元组打包相反的操作是拆包,就是将元组中的元素取出,分别赋 值给不同的变量。
username, password = ('xiaobo','123456')
print(username)
print(password)
元组的拼接:
元组可以使用操作符+进行拼接:
a = (1,2)
b = (3,4)
print(a+b) # (1, 2, 3, 4)
元组的其他用法:
作为函数的传参,使用*args的格式。
比如,我之前写过的文章中,socket套接字编程的时候,访问服务器的ip+端口,就可以以元组的形式传进去。