Python学习之路 —— *args 和**kwargs

来源:互联网 发布:linux退出vi不保存 编辑:程序博客网 时间:2024/05/29 18:52

转载自博客园:
http://www.cnblogs.com/moodlxs/p/3232222.html

当函数的参数不确定时,可以使用*args**kwargs*args 没有key值,**kwargs有key值

话不多说直接上代码

[python]

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:
[python]

arg: 1 another arg: two another arg: 3 **kwargs:[python] 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) # myarg2myarg3被视为key, 感觉**kwargs可以当作容纳多个key和value的dictionary
result:
[python]
arg: 1
another keyword arg: myarg2: two
another keyword arg: myarg3: 3
也可以用下面的形式:
[python]

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:[python] arg1: 1 arg2: two arg3: 3 

[python]

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:[python] view plaincopyprint?arg1: 1 arg2:"two" arg3:3 
0 0
原创粉丝点击