# 可变长度的参数(*与**的用法)
# 可变长度指的是在调用函数时,传入的值(实参)的个数不固定
# 实参是用来为形参赋值的,所以针对溢出的实参必须有对应的形参来接受
# 1:用来接收溢出的位置实参
# *形参名:溢出的位置实参会被*保存成元组的格式然后赋值给紧随其后的变量名
# def func(x, y, *args):
# print(x, y, z)
#
#
# func(1, 2, 3, 4, 5, 6)
def my_sum(*args): # *args为规范写法
res = 0
for item in args:
res += item
return res
res1 = my_sum(1, 2, 3, 4, 5)
print(res1)
# 2:用来接收溢出的关键字实参
# **实参名:用来接收溢出的关键字实参,**会将溢出的关键字保存为字典格式,然后赋值给紧随其后的变量名
def func(x, y, **kwargs): # **kwargs为规范写法
print(x, y, kwargs)
func(x=1, y=2, a=3, b=4, c=5)