拆包:把一个元组拆开分别给几个变量赋值称为拆包。
例如:
#拆包
t1 = (4,5,6,7)
a,b,c,d = t1
print(a,b,c,d)
当用与元组个数不同的变量个数去取元组中的值时,会报错,如下所示:
t1 = (4,5,6,7)
#a,b = t1 ValueError: too many values to unpack (expected 2)
#print(a,b)
#a,b,c,d,e = t1 ValueError: not enough values to unpack (expected 5, got 4)
如果我们不想让其出现错误,这时就会用到可变参数:
格式为:*变量名
注:如果在定义函数时,既要定义可变参数,又要定义不可变参数,那么不可变参数一定要放在最前面
拆包和装包
赋值时:
*x = 1,2,3 装包,把散列的1,2,3装到一个列表里,然后赋值给x,即x=[1,2,3]
打印时:
print(*x)即print(*[1,2,3]) 拆包,打印:1 2 3
总结:x就是一个列表,具体值为[1,2,3];*x就是几个散列的值,1 2 3
'''
下面放出例子以及运行结果:
# 求加法的函数
def add1(*args):
print(args)
print(*args)
return sum(args)
print(add1(5, 8))