参考: https://www.cnblogs.com/mrdoghead/p/12014270.html
1. 代表多个参数
参数前面加上 *
号 ,意味着参数的个数不止一个,另外带一个星号 *
参数的函数传入的参数存储为一个元组(tuple),带两个 *
号则是表示字典(dict)
例如:
def exam0(par0, *par1):
print(par0)
print(par1)
exam1(1,2,3,4)
# 1
# (2,3,4)
def exam1(par0, **par1):
print par0
print par1
exam2(1,a=2,b=3)
# 1
# {a:2, b:3}
2. 调用函数时,一个 *
号可以解压
参数列表
def exam3(par0, par1):
print(par0, par1)
args = [1, 2]
exam3(*args)
# 1 2
3. 函数参数中同时使用一个 *
和 **
def exam4(a, b=10, *args, **kwargs):
print(a)
print(b)
print(args)
print(kwargs)
exam4(1, 2, 3, 4, e=5, f=6, g=7)
# 1
# 2
# 3 4
# {'e': 5, 'g': 7, 'f': 6}