【笔记】python 中 *args 和 **kwargs 的用法:*args 无关键字参数,接收元组、列表;**kwargs 有关键字参数,接收字典

本文详细介绍了Python中*args和**kwargs的用法,它们允许函数接收不定数量的位置参数和关键字参数。在示例中,展示了如何通过**kwargs传递字典参数到函数中,并在函数内部解析这些参数。这种灵活的参数传递方式在处理不确定数量的参数时非常有用。
摘要由CSDN通过智能技术生成

先来谈谈,** 作为实参如何传参。

实参:

 pbar.set_postfix(**{'total_loss': total_loss.item() / (iteration + 1),
                                'lr': get_lr(optimizer),
                                'step/s': waste_time})

形参:   

with tqdm(total=epoch_size, desc=f'Epoch {epoch + 1}/{Epoch}', postfix=dict, mininterval=0.3) as pbar:

以下内容均是 *  、 ** 作为形参的解释说明。

当我们在写程序时,不确定将来要往函数中传入多少个参数,即可使用可变参数(即不定长参数),用*args,**kwargs表示。

*args称之为Non-keyword Variable Arguments,无关键字参数;

**kwargs称之为keyword Variable Arguments,有关键字参数;

当函数中以列表或者元组的形式传参时,就要使用*args;

当传入字典形式的参数时,就要使用**kwargs。

*args示例:

当位置参数与不定长参数一起使用时,先把参数分配给位置参数再将多余的参数以元组形式分配给args:

**kwargs示例:

当传入函数的参数为字典格式时,使用**kwargs。

注:应该是print("age=",dict['age'])

除了上述传参方式,还可以直接传入整个字典:

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值