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} 
现在一个可以看出其中的区别与使用了吧


免责声明!

本站转载的文章为个人学习借鉴使用,本站对版权不负任何法律责任。如果侵犯了您的隐私权益,请联系本站邮箱yoyou2525@163.com删除。



 
粤ICP备18138465号  © 2018-2025 CODEPRJ.COM