var与*avg与**kwargs

前因

看不懂下面这段代码是怎么个意思

python 复制代码
loss = model.get_loss(**samples)
def get_loss(self, source, prev_outputs, target, mask, **unused):
	...

后果

https://blog.csdn.net/weixin_46841421/article/details/110871251 两种类型都讲到了

https://www.jianshu.com/p/be92113116c8 例子生动

https://www.runoob.com/python/python-func-vars.html var相关

根据上面三篇文章可得出,*和**的用法是python函数调用的时候专属的,那么:

函数的定义def 中出现*和**时,指的是入参长度不确定,可以为

调用函数 时,出现*和**时,指的是把变量以[x,x,x]{x:x}的格式输入到函数中,匹配上函数本身要求的参数

python 复制代码
# 把samples以dict的格式解析,并输入到get_loss函数中
# samples本身是{"source":"...", "prev_outputs":"...", ...}
loss = model.get_loss(**samples)
# 把samples['source'],samples['prev_outputs']等作为入参
# ** unused作为不定长度的dict,是{'ids':"...",  'lengths': :"...",}
def get_loss(self, source, prev_outputs, target, mask, **unused):
	...
相关推荐
夏季疯25 分钟前
读论文:STARS 是什么结构?一个统一的歌声自动标注框架
python
光测实验室1 小时前
3种Python降噪算法实测:我把处理速度提升了20倍
python
AOwhisky1 小时前
Python 学习笔记(第三期)——流程控制核心知识点自测与详解
开发语言·笔记·python·学习·云原生·运维开发·流程控制
花花无缺2 小时前
Windows 定时执行 Python 脚本方案
python·操作系统·命令行
流云鹤4 小时前
1. 配置环境、创建导航栏
python·django
三亚兴嘉装饰4 小时前
准备在三亚装房子找哪家装修
python
Mx_coder4 小时前
8年Java开发者AI转型第二周:RAG系统深入 + 向量数据库实战(Day 8-10)
python
ximen502_4 小时前
Python 语言知识总结
开发语言·python
流云鹤5 小时前
2.登录模块
python·django
C+-C资深大佬5 小时前
Java 变量:从入门到精通
java·开发语言·python