python中的*args和**kwargs,,def foo(*a


def foo(*args,**kwagrs):
print(‘args=‘,args)
print(‘kwargs=‘,kwagrs)
print(‘------------------‘)
if __name__==‘__main__‘:#用来做输出的
foo(1,2,3,4)
foo(a=1,b=2,c=3)
foo(1,2,3,4,a=1,b=2,c=3)
foo(‘a‘,1,None,a=1,b=‘2‘,c=3)#*kwargs用来接收关键字传参其余类型都由*args接收


*args和**kwargs是python中的可变参数,*args表示任何多个无名参数,他是一个tuple
**kwargs表示关键字参数,他是一个dict.并且同时使用*args和**kwargs时,必须*args
参数列要在**kwargs前,像f00(a=1,b=2,c=3,a,1,NOne)这样调用的话,会提示语法错误




创建字典
def kw_dict(**kwargs):
return kwargs
print(kw_dict(a=1,b=2,c=3)=={‘a‘:1,‘b‘:2,‘c‘:3})


#这样的方式也可以
dict(a=1,b=2,c=3)
print(dict)

python中的*args和**kwargs

评论关闭