函数参数带*和** 有什么区别呢?
先看普通函数
def fun():
print('无参函数')
def fun1(a,b):
return a+b
参数有默认值的函数,如果调用的时候fun2(10),b会自动赋值为0
def fun2(a,b=0)
print(a)
print(b)
参数带*的函数,接收可变参数
def fun3(a,b,*c):
print(a)
print(b)
print(len(c))
print(c)
调用fun3(1,2,3,4,5,6,7), 返回结果
1
2
5
3,4,5,6,7
参数带** 函数,以字典形式传给函数
def fun4(a,**b):
print(a)
for item in b:
print(item+":"+str(b[item]))
调用fun4(1,{"name":"张三","age":20})
返回结果:
1
name:张三
age:20