# 不定长参数
#定义一个函数,可以求任意个数字的和
def sum(a , b):
print(a+b)
#在定义函数时,可以在形参前面加*.这样这个形参将会将所有的实在保存到一个元组中
s,b,*c = (1,2,3,4,5,6)
# *a会接收所有的位置实参,并且会将这些实参统一保存到一个元组中(装包)
def fn(*a):
print("a=",a,type(a))
def sum(*nums):
# 定义一个变量,求保存结果
result = o
# 遍历元组,并将元组中的数进行累加
for n in a :
result += n
print(result)
# 带星号的形参只能写一个,
# 带星号的参数可以和其他参数配合使用
# 第一个参数给a,第二个参数给b,剩下的都保存到c的元组中
# 可变参数不是必须写在最后,但是注意,带*的参数后的所有参数,必须以关键字参数的形式传递
# 第一个参数给a,剩下的参数给元组,c必须使用关键字参数
def fn2(*a , b ,c):
print('a=',a)
print('b=',b)
print('c=',c)
fn(1,2,3,b=4,c=5)
# 星号的形参,只能接受位置参数;而不能接收关键字参数
# **形参可以接收其的关键字参数,它会将这些参数统一保存到一个字典中,字典的key就是参数的名字,字典value就是参数的值
# ** 形参只能有一个,并且必须写在所有参数的最后
def fn3(**a):
print('a=', a,type(a))
fn3(b=1,d=2,c=30)