在function(*args)中,操作符*的正确名称是什么?打开包,打开拉链,还有别的吗?
function(*args)
*
**
我相信它通常被称为“splat算子”。拆包参数是它的作用。
Python教程简单地称它为“*-operator”。它执行任意参数列表的解包。
我说“star-args”,Python人似乎明白我的意思。
**比较棘手——我认为只是“qargs”,因为它通常被用作**kw或**kwargs
**kw
**kwargs
我称之为“位置展开”,而不是**,我称之为“关键字展开”。
我称*args为“星型参数”或“可变参数”,**kwargs为“关键字参数”。
也可以将*称为收集参数(用于函数参数定义时)或散射算子(用于函数调用时)。
如这里所示:想想Python/元组/变长参数元组。
对于一个口语化的名字,有&;splatting&;
对于参数(列表类型)使用单个*,对于关键字参数(字典类型)使用双**。
*和**有时都被称为“飞溅”。
参见此名称被使用的参考: https://stackoverflow.com/a/47875892/14305096 < / p >
它的专业术语是可变参数函数。所以在某种意义上,这是正确的术语,不考虑编程语言。
也就是说,在不同的语言中,这个术语确实有合法的名称。正如其他人所提到的,它被称为“飞溅”;在ruby, 茱莉亚和其他几种语言中,并在官方文档中使用该名称。在javascript中它被称为“spread"语法。正如在其他答案中提到的,它在许多其他语言中有许多其他的名字。不管你叫它什么,它都很有用!