python中的 *args 和 **kwargs

如下图所示:

使用ipython查看一个函数怎么使用的时候,经常遇见函数的参数里面带有 *args 和 **kwargs ,那么这两个参数到底是什么意思呢?下面以一个实例看一下:

def test_args(*args, **kwargs):
    print 'args=', args
    print 'kwargs=', kwargs
    print '**************************'
    
if __name__ == '__main__':
    test_args(1, 2, 3)
    test_args('hello', 'python')
    test_args(name='xiaoming', age=21, sex='male')
    test_args(name='xiaoming')
    test_args(1, 2, 3, name='xiaoming', age=21, sex='male')

输出结果如下:

args= (1, 2, 3)
kwargs= {}
**************************
args= ('hello', 'python')
kwargs= {}
**************************
args= ()
kwargs= {'age': 21, 'name': 'xiaoming', 'sex': 'male'}
**************************
args= ()
kwargs= {'name': 'xiaoming'}
**************************
args= (1, 2, 3)
kwargs= {'age': 21, 'name': 'xiaoming', 'sex': 'male'}
**************************

 从上面的测试结果可以看出,*args表示任何多个无名参数,它是一个数组tuple;**kwargs表示关键字参数,它是一个字典dict。*args和**kwargs可以表示任意的长度。

转载于:https://www.cnblogs.com/dbtd/p/8241954.html

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值