打包

如给出一系列由逗号分隔的表达式,他们将被视为一个单独元组,即使没有提供封闭的圆括号

如:

numbers = 1, 2, 3, 4

使numbers被赋值元组(1, 2, 3, 4)

return a, b

返回元组(a, b)

解包

Python可以自动解包一个序列,润许单个标识符的一系列元素赋值给序列中的各个元素,如:

a, b, c, d = range(1,5)

a = 1, b = 2, c = 3, d = 4

quotient, remainder = divmod(a, b)

quotient = a // b, remainder = a % b

for x, y in[(1, 2), (3, 4), (5, 6)]:
for key, value in dict.items():

同时分配

同时分配为打包和解包的结合,如:

x, y, z = 1, 2, 3
a, b = b, a
def fibonacci():
 a, b = 0, 1
 while True:
 yield a
 a, b = b, a+b