Python中的*(星号)和**(双星号)
1.最简单的不用细说,是一个乘法运算符号
2.收集列表中多余的值
这样无需确保值与变量的个数相同。举例来说:
a,b,c=[1,2,3,4]
c前面的号主要是为了收集参数。这样输出a,是1;输出b,是2,输出c,是[3,4]。注意这里收集的是列表。
3.涉及到函数了,*号的作用在于收集参数或者分配参数。
具体用途,是看用*号的场合是在函数定义时还是函数调用时。(这句话至关重要!)
3.1 如果在定义函数时,*代表收集参数,**代表收集关键字参数。
3.1.1定义函数时,一个*的情况:
def myprint(*params):
print(params)
这时候如果以如下方式调用myprint
myprint(1,2,3)
则会输出:
(1,2,3)
因此作用是将调用时提供的所有值,放在一个元组里。
跟上面2里的有所区别,2里是收集列表中多余的参数,而这里是收集好参数,一起放进元组里面。</