python中*args和**kw

Posted lsl30522

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了python中*args和**kw相关的知识,希望对你有一定的参考价值。

有时看到python函数中的参数有出现*args与**kw,不知道这两个参数具体是什么意思,现在我就来介绍以下函数参数*arg与**kw的具体含义

*args:将实参中按照位置传值,多余的值都给args,以元组的方式呈现

对于初学者来说,有人可能将元组忘记了

元祖和列表十分相似,不过元组是不可变的。即你不能修改元组。元组通过圆括号中用逗号分隔的项目定义。

my=(1,2,3,4)
注意:被使用的元组的值不会改变。

**kw:形参中按照关键字传值,多余的值都给kw,以字典*的方式呈现

字典里面的元素是将键与值联系起来

像这样:

d = {key1 : value1, key2 : value2 }

注意:

(1)键/值对用冒号分割,而各个对用逗号分割,所有这些都包括在花括号中另外,

(2)字典中的键/值对是没有顺序

现在我们通过例子来学习*arg与**kw的作用:

def My(*args, **kwargs):   
 print ‘args = ‘, args   
 print ‘kwargs = ‘, kwargs   


   My(1,2,3,4)
   My(a=5,b=6,c=7)
   My(1,2,a=3,b=4)
   

 输出结果:

args =  (1, 2, 3, 4) 
kwargs =  {} 

args =  () 
kwargs =  {‘a‘: 5, ‘b‘:6 , ‘c‘: 7} 


args =  (1, 2,) 
kwargs =  {‘a‘: 3, ‘b‘: 4} 
现在一个可以看出其中的区别与使用了吧

以上是关于python中*args和**kw的主要内容,如果未能解决你的问题,请参考以下文章

python中的*args和**kw

python中的*args 和 **kw

python中的*args 和 **kw

python中函数参数*args和**kw的区别

python中函数参数*args和**kw的区别

python--*args与**kw