python中可变长度参数_python函数之可变长参数

可变长参数

可变长参数:指的是在调用函数时,传入的参数个数可以不固定

调用函数时,传值的方式无非俩种,一种是位置实参,另一种是关键字实参,因此形参也必须得又俩种解决方法,以此来分别接收溢出的位置实参和关键字实参

一、可变长形参之*

形参中的*会将溢出的位置实参全部接受,然后以元组的形式存储,然后把元组赋值给*后的参数,需要注意的是*后的参数名约定成俗成为args

def sum_sef(*args):

res = 0

for num in args:

res+=num

return res

res = sum_sef(1,2,3,4,5)#由于没有型参来接受实参的值,故全部给args

print(res)

#输出:15

def sum_sef(x,*args):

res = 0

for num in args:

res+=num

return res

res = sum_sef(1,2,3,4,5) #形参x接受了1,剩下的实参没有形参接受

print(res)

#输出:14

二、可变长实参之*

实参中的*会将*后参数的值循环取出,打散成位置实参,以后但凡碰到实参中带有*的,就是位置实参,应该马上进行打散成位置实参去看。

def sum_sef(x,y,z,*args):

print(x,y,z,args)

print(args)#arg中存储了(4,5,6)

print(*args) #输出的时候加上*可以去掉()

你可能感兴趣的:(python中可变长度参数)