Python语言中,方法的参数*args和**kwargs的意义和作用

Python语言的模块里,函数的参数列表里经常可以看到这两个参数,形式如下:

def function_name(*argds,**kwargs):

return 0

 

星号的作用:一个*的作用是将tuple或者list中的元素进行unpack,分开传入,作为多个参数;两个*的作用是把dict类型的数据作为参数传入。

kwargs是keyword argument的缩写,args就是argument。在Python中,有两种参数,一种叫位置参数(position argument),一种叫关键词参数(keyword argument),关键词参数只需要用keyword=somekey的方法即可传参,而位置参数只能由参数位置决定。因此位置参数一定要在前面,否则关键词参数数量的变化(比如有些kwargs有默认值因此没有传参或者在后面传参),都会使位置无法判断,故*args在**kwargs前面。

 

下面是一个例子来说明这两个参数的作用(可变参数)

def test_function(a,b,*args,**kwargs):
    print a
    print b
    print args
    print kwargs




test_function(0,1,2,3,index1=11,index2=12)
0
1
(2,3)
{'index1':11,'index2':12}

参考链接:https://blog.youkuaiyun.com/edogawachia/article/details/80588858

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值