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的主要内容,如果未能解决你的问题,请参考以下文章