Python参数基础知识(2):可变参数

引子:
我们先来看看sum函数,在这里我们无论输入多少个参数都可以求和。但是,如果我们只在sum函数中设置了有限个参数,输多了或少了程序就会报错。如果想让程序更加灵活一些,我们就需要用到可变参数。

可变参数有两种:
不定长必选参数 *args(元组类型)
不定长关键词参数 **kargs(字典类型)

首先是必选参数 *args:
其实可以不用args这个名字,只是约定俗成的,大家都用它来表示。

>>def sum_num(*args):
>>    print(args,type(args))
>>    pass
>>sum_num(2,4,6)

(2,4,6) <class 'tuple'>
>>def sum_num(*args):
>>    sta = 0
>>    for i in args: #这里就不要加*了,把args值遍历出来,然后相加
>>        sta += i
>>    return sta
>>result = sum_num(2,4,6)
>>print(result)

12

接下来是 **kargs:

>>def sum_num(**kargs):
>>    print(kargs,type(kargs))
>>    pass

sum_num(a=2,b=4)

{'a':2,'b':4} <class 'dict'>

区别:

  • 如果是(a,b,c)这种类型,只能使用*args
  • 如果是(a=1,b=2)这种类型,只能用**kargs

参数组合:

>>def func(num1,num2=3,*arg,**kargs):
>>    print(num1,num2,arg,kargs)
>>func(1,2,3,4,a=5)

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

参数顺序:
必选参数 -> 不定长必选参数 -> 默认参数 -> 不定长关键词参数
num1 -> *args -> num2=3 -> **kargs

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值