t1 = 1, 2 print(type(t1)) # 什么类型 t2 = (1, 2) print(type(t2)) 12345
python 等式右侧出现逗号分割的多值得时候,就会将几个值封装到元组中,这种操作称为封装。
x, y = (1, 2) print(x) # 1 print(y) # 2 123
python 中等式右侧是一个容器类型,左侧是逗号分隔得多个标识符,将右侧容器中数据的一个个和左侧标识符一一对应,这种操作称为解构。封装和解构是非常方便的提取数据的方法。
剩余变量的解构在Python3.0 中增加了剩余变量的解构(rest)。
a, *rest, b = [1, 2, 3, 4, 5] print(a, b) print(type(rest), rest) #[2, 3, 4]
标识符rest将尽可能收集剩余的数据组成一个列表。
a, *rest = [1, 2, 3, 4, 5] print(a, rest) *rest, b = [1, 2, 3, 4, 5] print(rest, b) *rest = [1, 2, 3, 4, 5] print(rest) # 内容是什么? a, *r1, *r2, b = [1, 2, 3, 4, 5] # ?
a, *_, b = [1, 2, 3, 4, 5] print(_) # 在IPython中实验,_是最后一个输出值,这里将把它覆盖 _, *b, _ = [1, 2, 3] print(_) # 第一个_是什么 print(b) # 是什么 print(_) # 第二个_是什么 1234567
_ 是合法的标识符,这里它没有什么可读性,它在这里的作用就是表现不关心这个变量的值,我不想要。有人把它称作丢弃变量。



