入门客AI创业平台(我带你入门,你带我飞行)
博文笔记

python中的*args与**kwgs的含义与作用

创建时间:2017-11-16 投稿人: 浏览次数:377

在定义函数的时候参数通常会使用
*args与**kwgs,形参与实参的区别不再赘述,我们来解释一下这两个的作用。

*args是非关键字参数,用于元组,**kw是关键字参数
例如下面的代码

def foo(*args,**kwargs):
    print "args is",args
    print "kwargs is",kwargs
foo(1,2)
foo(k=1,w=2,a=3,r=4,g=5,s=6)
foo(1,2,a=1,b=2,c=2)
foo("a",1,None,a=1,b="2",c=3)

在函数foo中定义了两个参数
在调用的时候,传递参数,最后的结果如下

args is (1, 2)
kwargs is {}
args is ()
kwargs is {"a": 3, "g": 5, "k": 1, "s": 6, "r": 4, "w": 2}
args is (1, 2)
kwargs is {"a": 1, "c": 2, "b": 2}
args is ("a", 1, None)
kwargs is {"a": 1, "c": 3, "b": "2"}

在其中args为一个元组而kwags是一个字典类型。
这两个作为python的可变参数,也就是说args表示任何多个无名参数,然而kwags表示一个一个有着对应关系的关键字参数。
在使用的时候需要注意,*args要在**kwags之前,不然会发生语法错误。

阅读更多
声明:该文观点仅代表作者本人,入门客AI创业平台信息发布平台仅提供信息存储空间服务,如有疑问请联系rumenke@qq.com。
  • 上一篇:没有了
  • 下一篇:没有了
未上传头像