python中函数的不定长参数

 例1:
#定义一个含有不定长参数的函数,本例第三个参数*args
def sum_nums(a,b,*args):
    print('_'*30)
    print(a)
    print(b)
    print(args)

#调用函数:
sum_nums(11,22,33,44,55,66,77)
sum_nums(11,22,33)
sum_nums(11,22)
sum_nums(11)#错误调用,传递的参数不够

#输出结果:
______________________________
11
22
(33, 44, 55, 66, 77)
______________________________
11
22
(33,)
______________________________
11
22
()
Traceback (most recent call last):
  File "6.py", line 10, in <module>
    sum_nums(11)#错误调用
TypeError: sum_nums() missing 1 required positional argument: 'b'

 例2:
#定义一个含有复杂参数类型的函数,**kwargs为关键字参数
def test(a,b,c=33,*args,**kwargs):
    print(a)
    print(b)
    print(c)
    print(args)
    print(kwargs) 

#函数调用
test(11,22,33,44,55,task=99,done=89)

#输出结果:
11
22
33
(44, 55)
{'task': 99, 'done': 89}
例3:拆包
#定义函数
def test(a,b,c=33,*args,**kwargs):
    print(a)
    print(b)
    print(c)
    print(args)
    print(kwargs) 
A=(11,22,33)
B={
'task':99,'done':89
}

#函数调用,将A拆开后传给args,将B拆开后传给kwargs
test(11,22,33,*A,**B) 

#输出结果
11
22
33
(11, 22, 33)
{'task': 99, 'done': 89}

转载于:https://www.cnblogs.com/littlesuns/p/9955068.html

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值