Python中的*args和**kwargs主要提供了函数参数数量不定时的选择。
*args参数无键值,**kwargs参数有键值。
args,kwargs名字可变,主要是*和**这个形式为编程语言内定。
可分别用于函数定义和函数使用时:
函数定义:
def totalvalue(*a):
return sum(a)
>>> totalvalue(2,4,5,6,7)
24def printvalue(**a):
for i in a:
print 'Value of %s is %s!'%(i,a[i])>>> printvalue(sdfsfd='2342',ty=234)
Value of sdfsfd is 2342!
Value of ty is 234!函数使用的意义没有定义时那么大,就是可以把列表或字典以*和**的形式直接应用为函数的多个参数,而不用再用下面笨拙的方式:
例如:
>>> li=[23,34,56,34]
>>> totalvalue(li[0],li[1],li[2],li[3])
147上面的方法就可以直接改进为:
>>> totalvalue(*li)
147当然题外话,列表中的元素如果不完全作为参数来使用的话,自然也可以用列表分片一样简单的达到目的。
>>> totalvalue(*li[2:])
90**kwargs就不再举例了。
本文详细介绍了Python中*args和**kwargs的功能与用法,包括它们在函数定义及调用时的作用,并通过实例展示了如何利用这些特性简化代码。
2078

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



