C12. 元组
元组基本使用
元组是不可变序列,由()括住 (括号不是必要的) ,列表用 [ ] 括住,字典用 { } 括住。
其中元组和列表是序列,是有序的,可以用切片的形式访问元素。
创建只有一个元素的元组时,为了避免歧义需要添加“,”
>>> t = ('i')
>>> type(t) # 这是一个str
>>> t = ('t',)
>>> type(t) # 这是一个tuple
元组赋值
元组可以用来方便地用来交换两个变量以及多重赋值
>>> a, b = b, a # 交换变量
>>> a, b, c = 1, 2, 3 # 多重赋值,左边是元组,右边是元组
>>> addr = 'monty@python.org'
>>> uname, domain = addr.split('@') # 多重赋值,左边是元组,右边是列表
变长参数元组
函数可以读取一个变长的参数,一个以 * 开头的参数将参数聚集为一个元组。
同时*也可将一个序列散布成多个参数传入函数
>>> def printall(*args):
... print(type(args)) # 是一个包含所有输入参数的tuple
...
>>> printall(1,3,4)
<class 'tuple'>
>>>
>>> def add(a, b):
... return a + b
...
>>> t = [1, 3]
>>> add(*t)
4
>>> t = (1, 3