**(双星)和*(星)对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