python中的不定长参数

#不定长参数
def test(*args,**kargs):
# print(a)
# print(b)


print(args)
print(kargs)

---------------------------------

#定义函数用作划分

def printInfo():

print('-'*30)

---------------------------------

#定义参数

a = [1,2,3,4,5]

b = {'name':'wdc','age':18}

---------------------------------

#调用方法展示

printInfo()

#这个调用函数的方式就相当于是将a,b俩个实参都加入到不定长参数*args中
test(a,b)

---------------------------------
printInfo()

#这个调用函数的方式就相当于将a这个实参加入到不定长参数*args中,将b这个实参按字典的方式存入到不定长参数**kwargs中
test(a,**b)

---------------------------------
printInfo()

#这个函数的调用方式就相当于把列表a的元素一个个的传入到不定长参数*args中,然后b这个字典也加入到*args这个不定长参数中
test(*a,b)

---------------------------------
printInfo()

#当指定了相应的*号的时候,表达的就是将列表a中的值加入到不定长参数中的*args中,
#将字典b的值加入到不定长参数**kwargs中
test(*a,**b)

---------------------------------

'''
当调用函数时在传入参数的时候使用*号的话,就是将传入参数的解析开来
比如当
test(a,b)
没有指定相应的*号的时候,表达的是就a,b俩个实参都加入到*args中
元组中的组成就分别是列表和字典
当test(*a,**b)
当指定了相应的*号的时候,表达的就是将列表a中的值加入到不定长参数中的args中,
将字典b的值加入到不定长参数**kwargs中

'''

原文地址:https://www.cnblogs.com/dachang/p/11587196.html