python函数前面一个星号(*)和两个星号(**)的区别

1.一个星号是将参数以元组(tuple)的形式导入:
def foo(*a):
print(a)
foo(3,4)

结果:
(3, 4)

2.两个星号是将参数以字典(dict)的形式导入:
def foo(**a):
print(a)
foo(a=1,b=2)

结果:
{‘a’: 1, ‘b’: 2}

3.当然这两种方法可以同时出现在一个函数中:
def foo(a,b=10,*faf,**dsaf):
print(a)
print(b)
print(faf)
print(dsaf)
foo(1,2,3,4,e=5,g=7)

结果:
1
2
(3, 4)
{‘e’: 5, ‘g’: 7}

你可能感兴趣的:(python)