*args **kwargs

首先看下*args和**kwargs传入一个函数之后到底是什么:

def what_are_args_and_kwargs(*args, **kwargs):
    print(args)
    print(kwargs)

what_are_args_and_kwargs()

不传入参数直接运行:

()
{}

args传入之后是一个tuple,而kwargs传入之后是一个dict。然后加入参数试一下:

what_are_args_and_kwargs(1, [2,3], {'a': 'hello'}, name='JJ', age='11')

# Result
(1, [2, 3], {'a': 'hello'})
{'name': 'JJ', 'age': '11'}

发现单独传入的参数都在args这个tuple里面,以key-value形式传入的值都在kwargs这个dict里面。这里不能把想传入的args放到后面,因为*args总是在**kwargs前面,会提示SyntaxError。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值