python 可变参数*arg 关键字参数**kw
可变参数
python的可变参数是指传入到同一函数中的参数数量可以不同。可变参数会将传入的参数组成一个tuple.
形式
在参数前加*,如:
def sum(*num):
S=0
for n in num:
S+=n
return S
调用时可以这样
sum(1,2,3,4)
sum(1,2)
sum()#一个参数都不传入
如果有a=[1,2,3],要调用该函数计算元素之和,写成 sum(a[0],a[1],a[2])就太繁琐,可以在a前面加个*,然后传入函数:
sum(*a)
关键字参数
关键字参数会将传入的0个或多个含参数名的参数组装成一个dict.
形式
def student(name,class,**kw):
print('name:',name)
print('class:',class)
print('other:',kw)
调用时
当然,如果已经有一个dict,要想把其当成关键字参数传入函数,与上面的可变参数类似,在dict前加上**
注意:函数内对传入的dict的修改不会影响函数外的info。