一、赋值中的可变参数
带星号的参数就是可变参数
a,b,*c = 1,2,3,4,5
print(a,b,c)
a,*b,c = 1,2,3,4,5
print(a,b,c)
*a,b,c = 1,2,3,4,5
print(a,b,c)
运行结果
1 2 [3, 4, 5]
1 [2, 3, 4] 5
[1, 2, 3] 4 5
带星号的参数将多余的赋值放到自己里面来,python自定义为列表格式。
上面是装包的过程,下面看拆包的过程
a,b,c = (1,2,3)
print(a,b,c)
a,b,*c = (1,2,3,4,5)
print(a,b,c)
a,*b,c = (1,2,3,4,5)
print(a,b,c)
*a,b,c = (1,2,3,4,5)
print(a,b,c)
a,b,*c = (1,2)
print(a,b,c)
a,*b,c = (1,2)
print(a,b,c)
*a,b,c = (1,2)
print(a,b,c)
运行结果
1 2 3
1 2 [3, 4, 5]
1 [2, 3, 4] 5
[1, 2, 3] 4 5
1 2 []
1 [] 2
[] 1 2
二、函数中的可变参数
def add(*args):
print(args)
add(1,2)
add(1,2,3)
add()
运行结果
(1, 2)
(1, 2, 3)
()
演化
#求和函数,参数不定
def add(*args):
result = sum(args)
print(result)
add(1,2)
add(1,2,3)
add()
运行结果
3
6
0
上面是装包的过程,下面是拆包的过程
#求和函数,参数为一个列表
def add(*args):
result = sum(args)
print(result)
list=[23,44,55,66,7877]
add(*list)
运行结果
8065