相同点:无论是一个还是两个*,都代表可以传入不限制的动态参数,即数量不限的个数
不同点:单个*,会将传入的参数当作元组,而两个**会将其作为字典
例:
代码1:
def c(*a):
return print(a)
c(1,2,3)
结果
(1, 2, 3)
代码2:
def cc(**a):
return print(a)
cc(a=1,b=2,c=3)
结果
{'a': 1, 'b': 2, 'c': 3}
还可以混合使用
代码3:
def ccc(a,*b,**c):
print(a)
print(b)
print(c)
return None
ccc(9,1,2,3,d=1,e=2,f=3)
结果
9
(1, 2, 3)
{'d': 1, 'e': 2, 'f': 3}
本文解析了Python中单个星号(*)与两个星号(**)的区别及用法。单星号用于收集位置参数为元组,双星号用于收集关键字参数为字典。通过实例展示了如何使用它们以及混合使用的场景。
2732

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



