Python函数参数*args 和**kwargs的用法

args就是所有参数的数组,kwargs就是当你传入key=value是存储的字典,当函数的参数不确定时,可以使用*args 和kwargs,*args 没有key值,kwargs有key值

def fun_var_args(farg, *args): 
        print "arg:", farg 
        for value in args: 
            print "another arg:", value 
     
    fun_var_args(1, "two", 3) # *args可以当作可容纳多个变量组成的list 

result:

arg: 1 
another arg: two 
another arg: 3

**kwargs:

def fun_var_kwargs(farg, **kwargs): 
        print "arg:", farg 
        for key in kwargs: 
            print "another keyword arg: %s: %s" % (key, kwargs[key]) 
     
    fun_var_kwargs(farg=1, myarg2="two", myarg3=3) # myarg2和myarg3被视为key, 感觉**kwargs可以当作容纳多个key和value的dictionary 


result:

arg: 1 
    another keyword arg: myarg2: two 
    another keyword arg: myarg3: 3 

也可以用下面的形式:

def fun_var_args_call(arg1, arg2, arg3): 
    print "arg1:", arg1 
    print "arg2:", arg2 
    print "arg3:", arg3 
 
args = ["two", 3] #list 
 
fun_var_args_call(1, *args)

result:

arg1: 1 
    arg2: two 
    arg3: 3 

def fun_var_args_call(arg1, arg2, arg3): 
        print "arg1:", arg1 
        print "arg2:", arg2 
        print "arg3:", arg3 
     
    kwargs = {"arg3": 3, "arg2": "two"} # dictionary 
     
    fun_var_args_call(1, **kwargs) 

result:

arg1: 1 
    arg2:"two" 
    arg3:3 

当所有传参为key=value形式将返回字典形式

Python函数参数*args 和**kwargs的用法

下面关于Python的文章您也可能喜欢,不妨看看:

Linux下Python的安装以及注意事项 

Ubuntu 14.04 下安装使用Python rq模块 

无需操作系统直接运行 Python 代码 

CentOS上源码安装Python3.4 

《Python核心编程 第二版》.(Wesley J. Chun ).[高清PDF中文版]

《Python开发技术详解》.( 周伟,宗杰).[高清PDF扫描版+随书视频+代码]

Python脚本获取Linux系统信息

在Ubuntu下用Python搭建桌面算法交易研究环境

Python 语言的发展简史

Python 的详细介绍请点这里
Python 的下载地址请点这里 

内容版权声明:除非注明,否则皆为本站原创文章。

转载注明出处:https://www.heiqu.com/831d190170815edcb87b7a83103c7a29.html