python函数的可变参数*args和关键字参数**kw

1. 定义解释

在函数定义def func(*args, **kw) 时,

    参数args 前有‘*’符号,表示该参数是可变参数,即参数的数量可以为任意个;

    参数kw 前有‘**’符号,表示该参数是关键字参数,即参数带有key,且数量可以为任意个;

在函数调用 func(*args, **kw) 时,

    参数args 前有‘*’符号,表示会把args展开,把其中的每个参数传入;args是一个list或tuple.

    参数kw 前有‘**’符号,表示会把kw展开,把其中的每个key=value传入;kw是一个dict.

 

2. 举例说明

def sum(x,y,z=10,**kw):
	print kw
	return x+y+z
 
nms = [1,2]
sts = {'a':1,'z':20}
print sum(*nms,**sts)    #实际运行 sum(1,2,z=20,a=1),并组装了kw={'a':1} #output: {'a':1} 23


参考:

1. https://blog.csdn.net/yeqiustu/article/details/80314704 
2. https://blog.csdn.net/lxy210781/article/details/80628426

©️2020 CSDN 皮肤主题: 编程工作室 设计师:CSDN官方博客 返回首页