码迷,mamicode.com
首页 > 编程语言 > 详细

python中的 *args 和 **kwargs

时间:2018-01-08 13:28:15      阅读:143      评论:0      收藏:0      [点我收藏+]

标签:bubuko   post   bsp   war   是什么   body   http   关键字   log   

如下图所示:

技术分享图片

使用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

标签:bubuko   post   bsp   war   是什么   body   http   关键字   log   

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

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!