**(双星)和*(星)对Python中的参数有什么作用?
在Python函数中,以单星号(星号)为前缀的参数有助于从调用环境接收可变数量的参数
>>> def function(*arg): for i in arg: print (i) >>> function(1,2,3,4,5) 1 2 3 4 5
当必须将可变数量的关键字参数传递给函数时,在函数定义中使用带有双星号(星号)的参数
>>> def function(**arg): for i in arg: print (i,arg[i]) >>> function(a=1, b=2, c=3, d=4) a 1 b 2 c 3 d 4
在Python3中,可以在赋值语句中定义一个带有星号的变量,以实现对可迭代对象的扩展解压缩。
>>> a,*b=[1,2,3,4] >>> a 1 >>> b [2, 3, 4] >>> a,*b,c=[1,2,3,4] >>> a 1 >>> b [2, 3] >>> c 4