码迷,mamicode.com
首页 > 编程语言 > 详细

python中*args和**kw

时间:2019-05-22 00:08:12      阅读:166      评论:0      收藏:0      [点我收藏+]

标签:形参   不能   family   注意   mic   class   例子   联系   style   

有时看到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

标签:形参   不能   family   注意   mic   class   例子   联系   style   

原文地址:https://www.cnblogs.com/lsl30522/p/10903354.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!