打包:
Python提供了另外两个涉及元组和其他序列类型的处理的便利。第一个便利是相当明显的。如果在大的上下文中给出了一系列逗号分割的表达式,它们将被视为一个独立的元组,即使没有提供封闭的圆括号。
例如:data = 2,4,6,8 会被标识符赋值成元组(2,4,6,8),这种行为被称为元组的自动打包。
在Python中,另一种常用的打包是从一个函数中返回多个值。
return x,y 就自动返回单个对象,也就是元组。
解包:
a,b,c,d = range(7,11)
对于这个语法,右边的表达式可以是任何迭代类型,只要左边的变量数等于右边迭代的元素数。
同时分配:
自动打包和解包结合起来就是同时分配技术,即我们显式的将一系列的值赋给一系列标识符:
x,y,z=6,2,5
实际上,该赋值右边将自动打包成一个元组,然后自动解包,将它的元素分配给左边的三个标识符。
所以用来交换两个变量的值,就变得很方便:
j,k=k,j