Python中*args 和**kwargs

本文详细介绍了Python中*args和**kwargs的功能与用法,包括它们在函数定义及调用时的作用,并通过实例展示了如何利用这些特性简化代码。

Python中的*args和**kwargs主要提供了函数参数数量不定时的选择。

*args参数无键值,**kwargs参数有键值。

args,kwargs名字可变,主要是*和**这个形式为编程语言内定。

可分别用于函数定义和函数使用时:

函数定义:

def totalvalue(*a):
    return sum(a)

>>> totalvalue(2,4,5,6,7)
24

def printvalue(**a):
    for i in a:
        print 'Value of %s is %s!'%(i,a[i])

>>> printvalue(sdfsfd='2342',ty=234)
Value of sdfsfd is 2342!
Value of ty is 234!

函数使用的意义没有定义时那么大,就是可以把列表或字典以*和**的形式直接应用为函数的多个参数,而不用再用下面笨拙的方式:

例如:

>>> li=[23,34,56,34]
>>> totalvalue(li[0],li[1],li[2],li[3])
147

上面的方法就可以直接改进为:

>>> totalvalue(*li)
147

当然题外话,列表中的元素如果不完全作为参数来使用的话,自然也可以用列表分片一样简单的达到目的。

>>> totalvalue(*li[2:])
90

**kwargs就不再举例了。



评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值