python中的*args和**kwargs

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})

这样的方式也可以

kw_dict(a=1,b=2,c=3)
print(dict)

你可能感兴趣的:(python中的*args和**kwargs)