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

    当函数的参数不确定时,我们可以使用*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)




  • 1
    点赞
  • 7
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值