*、**、*args 、**kwargs作用

一:* 的作用,个人理解代表所有

  def fun(a,b,c):

    print(a,b,c)

  l1=[1,2,3]

  l2=[1,2,3,4]

  fun(*l1)  ---->>> 1 2 3 #可以调用打印出所有元素

  fun(*l2) ---->>> 出错,需要注意定义fun的时候三个元素,而l2有4个元素所以出错

二:** 的作用,个人理解代表所有,但是是对象是字典

def fun(a,b,c):
    print(a,b,c)
d={'b':2,'c':3}
fun(1,**d)  --->>> 1,2,3,
fun(**d)  --->>>出错,定义fun时候是三个元素,而d为2个,个数不匹配,所以出错

三:*args 的作用,将参数打包成元组进行调用

  def fun(x,y,*args):
      print(x,y,args)
  fun(1,2,3,4,5)  --->>>1 2 (3, 4, 5)
将1、2与x、Y匹配,剩余的交给*args打包成元组

四:**kwargs 的作用,将参数打包成字典

  def fun(a,**kwargs):
      print(a,kwargs)
  fun(1,b=2,c=3)  --->>> 1 {'b': 2, 'c': 3}
  fun(1,**{'b':2,'c':3}) --->>> 1 {'b': 2, 'c': 3}
将剩下的匹配打包成字典

总结:*、** 在调用的时候使用,*args、**kwargs在定义函数的时候使用。并且参数顺序必须是:arg、*args、**kwargs 不然报错的


转载于:https://www.cnblogs.com/jacker2019/p/11354779.html

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值