在函数定义def func(*args, **kw) 时,
参数args 前有‘*’符号,表示该参数是可变参数,即参数的数量可以为任意个;
参数kw 前有‘**’符号,表示该参数是关键字参数,即参数带有key,且数量可以为任意个;
在函数调用 func(*args, **kw) 时,
参数args 前有‘*’符号,表示会把args展开,把其中的每个参数传入;args是一个list或tuple.
参数kw 前有‘**’符号,表示会把kw展开,把其中的每个key=value传入;kw是一个dict.
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
装饰器:是一个函数,该函数接收一个函数,对其处理(装饰

本文介绍了Python中可变参数的使用,通过`*args`来接受任意数量的位置参数,`**kw`用于接收任意数量的关键字参数。同时,详细阐述了装饰器的概念,它是一个接收函数并返回新函数的高级技巧,常用于代码的复用和增强原有功能。
1261

被折叠的 条评论
为什么被折叠?



