Python-不定长形参参(*args,**kwargs)

介绍

在更多时候,函数不知道要传多少个参数,这时候不定长参数出现了

不定长形参有两种:

1.加一个*的形参

例如

def a(*a):
    pass

参数a就是一个不定长形参
这种参数会把所有没有命名的实参放进一个元组里
一般来讲会把这种不定长参数命名为args
看下面的代码:

def test(a,b,*args):
    print(a)
    print(b)
    print(args)

test(1,2,3,4)

运行结果:

1
2
(3,4)

1和2,分别对着形参a和形参b,后面的实参全部都放入args这个元组内

第二种加**的形参

这种参数会把所有命名的实参放进一个字典里
通常形参名命名为kwargs


def test(a, b, *arg, **kwargs):
    print(a)    
    print(b)    
    print(arg)    print(kwargs)test(1,2,3,4,n=5)

运行结果:

1
2
(3, 4)
{'n': 5}

注意

不定长形参要放在实际形参后面

例子

每天要吃菜,但是菜的种类每天都不一样

def eat(*args, **kwargs):
    for i in args:        
        print(i)    
    for i in kwargs:        
        print(kwargs[i])

eat("白饭","西红柿","炒鸡蛋",w="牛肉")

运行结果:


白饭
西红柿
炒鸡蛋
牛肉

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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值