Python【每日一问】07

问:请解释使用 *args 和 **kwargs 的含义

答:

 

*args:可变参数,表示将实参中按照位置传值,多余的值都给 args,多余的实参被打包成 tuple(元组),然后传递给函数调用

# 定义函数
def func(a,b,*args):
    pass


func(1,2,c,d,e)

# 1被赋值给a,2被赋值给b,
# c,d,e被打包成元组,存在args中

 

**kwargs:关键字参数,表示形参中按照关键字传值,多余的值(以 k=v 的 形式)都给 kwargs,多余的关键字实参被打包成 dict(字典),然后传递给函数调用

#定义函数
def func(a,b,**kwargs):
    pass


func(3,4,c=1,d=2)

#c,d存在 kwargs 中,以字典的形式存在

 

注:

*args 是可变参数,args 接收的是一个tuple

**kwargs 是关键字参数,kwargs 接收的是一个dict

如果要同时使用 *args 和 **kwargs ,必须 *args 参数列要在 **kwargs 前

转载于:https://www.cnblogs.com/ElegantSmile/p/10749098.html

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值