首页 > 编程语言 > 详细

python中的 *args 和 **kwargs

时间:2018-01-08 13:09:17      阅读:228      评论:0      收藏:0      [点我收藏+]

如下图所示:

技术分享图片

使用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可以表示任意的长度。

python中的 *args 和 **kwargs

原文:https://www.cnblogs.com/dbtd/p/8241954.html

(0)
(0)
   
举报
评论 一句话评论(0
关于我们 - 联系我们 - 留言反馈 - 联系我们:wmxa8@hotmail.com
© 2014 bubuko.com 版权所有
打开技术之扣,分享程序人生!