python元组赋值和拆包
1、首先我们看看python的元组的赋值
a=(1,2)print(a)
输出2

2、使用tuple 给多个变量赋值,如下所示
a,b,c,d=(5,3,2,1)print(a)print(b)
输出5,3

3、也可以赋值成多个元组形式,如下所示;
A,B,C,D=[(x,y) for x in '90' for y in 'db']print(A)print(B)print(C)print(D)
输出结果:
('9', 'd')
('9', 'b')
('0', 'd')
('0', 'b')


4、步骤3中假如我们只想输出每个元组数字部分,可以使用
alls=A,B,C,D=[(x,y) for x in '90' for y in 'db']print(A)print(B)print(C)print(D)for c,_ in alls: print(c)
输出结果:9,9,0,0
具体如下图所示


5、也可以用
for c in alls: print('%s:%s' %c)
输出
9:d
9:b
0:d
0:b
来改变元组输出形式,如下所示


6、元组的拆包,如下我们把上面的元组赋值给四个变量
n,m,l,k=alls然后我们输出其中两个值print(n)print(k)
输出结果:
('9', 'd')
('0', 'b')
具体如下图


7、我们在来看看传入形式*args
a=(9,81)print divmod(a)
假如我们如上传入a将会报错:
Traceback (most recent call last):
File "C:/Users/king/PycharmProjects/baidu/blog/tests.py", line 101, in <module>
print divmod(a)
TypeError: divmod expected 2 arguments, got 1
因为divmod需要两个参数

8、我们改变下传入参数形式
a=[9,81]print divmod(*a)
输出:
(0, 9),可以看出*a实现了传入元组中两个参数
注:python divmod() 函数把除数和余数运算结果结合起来,返回一个包含商和余数的元组(a // b, a % b)

