您的位置:首页 > 编程语言 > Python开发

python中多参数*args和**kargs学习

2017-01-22 09:41 281 查看
    当函数的参数不确定时,我们可以使用*args 和**kwargs。一般*args 无key值,**kwargs有key值

1 *args代码示例

def fun_args(arg, *args):
print "arg:", arg
for val in args:
print "another arg:", val

args = [[2,3,4,5],[6,7], "my", 4.5]
#fun_args(1, args)  #调用方式1,常见的方式
fun_args(1, *args) #调用方式2,明示args是多参数方式
fun_args(1, [2,3,4,5],[6,7], "my", 4.5) #调用方式3


输出结果:

1)fun_args(1, *args),
形参方式横向

arg: 1

another arg: [[2, 3, 4, 5], [6, 7], 'my', 4.5]

2)fun_args(1, [2,3,4,5],[6,7],
"my", 4.5),直接给实参竖向

arg: 1

another arg: [2, 3, 4, 5]

another arg: [6, 7]

another arg: my

another arg: 4.5

2 **kwargs代码示例

形参和实参均使用**kwargs

def fun_kwargs(farg, **kwargs):
print "arg:", farg
for key in kwargs:
print "another key and arg: %s: %s" % (key, kwargs[key])

fun_kwargs(farg=1, myarg2="two", myarg3=3)

dic = {"args2":"two", "args3":3}
fun_kwargs(fargs=1, **dic) #调用方式1


func_kwargs(1, args2='two', args3=3)  调用方式2



实参使用**kwargs,但是形参使用独立参数,要求实参key名与形参名一致否则不可调用

def fun_kwargs1(arg1, arg2, arg3):
print "arg1:", arg1
print "arg2:", arg2
print "arg3:", arg3

kwargs = {"arg2":"two", "arg3":3}
fun_kwargs1(1, **kwargs)
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签:  python可变参数