Python 中的函数入参可能会出现 *args, **kwargs ,这其实是代表可变参数的意思,其中 *agrs 表示普通的可变参数列表,**kwargs 代表 keyword 可变参数列表。
在遇到这类函数时,可以向其中传入任意个数的单实例参数和任意个书的字典参数。但是一定要求单实例参数出现在字典参数的前面。
例:
def printall(*args,**kwargs):
for ele in args:
print("type:"+type(ele).__name__+",value:"+str(ele))
for key,value in kwargs:
print("key:"+key+" , type:"+type(value).__name__+" , value:"+str(value))
if __name__ == "__main__":
dict = {
'name':'zhangsan',
'age':'20',
'skill':['eat','sleep','drink']
}
printall(1,2,3,['a','b','c'],dict)
#output
type:int,value:1
type:int,value:2
type:int,value:3
type:list,value:['a', 'b', 'c']
type:dict,value:{'name': 'zhangsan', 'age': '20', 'skill': ['eat', 'sleep', 'drink']}