python*运算符的正确名称?

python*运算符的正确名称?,python,operators,splat,Python,Operators,Splat,在函数(*args)中,运算符*的正确名称是什么?解压,解压,或者其他什么?在Ruby和Perl 6中,这被称为“splat”,我认为大多数来自 如果你这么说的话,这些社区会明白你的意思 使用短语“解包参数列表”,这是 冗长的描述 在**的情况下,它也被称为, .我相信它最常被称为“splat操作符”。这就是它所做的。简单地称它为“the*-operator”。它执行的是解包。我说“star args”,Python的人似乎知道我的意思 **/code>更为复杂-我认为只是“qargs”,因为它

函数(*args)
中,运算符
*
的正确名称是什么?解压,解压,或者其他什么?

在Ruby和Perl 6中,这被称为“splat”,我认为大多数来自 如果你这么说的话,这些社区会明白你的意思

使用短语“解包参数列表”,这是 冗长的描述

**
的情况下,它也被称为,
.

我相信它最常被称为“splat操作符”。这就是它所做的。

简单地称它为“the
*
-operator”。它执行的是解包。

我说“star args”,Python的人似乎知道我的意思


**/code>更为复杂-我认为只是“qargs”,因为它通常被用作
**kw
**kwargs

我称之为“位置扩展”,而不是我称之为“关键字扩展”。

我称*args为“星型args”或“varargs”和**kwargs为“关键字args”.

也可以调用
*
聚集参数(在函数参数定义中使用时)或分散运算符(在函数调用中使用时)


如图所示:.

对于一个俗称,有“splatting”

对于参数(列表类型),使用单
*
;对于关键字参数(字典类型),使用双
**

*
***
有时都被称为“飞溅”

有关所使用名称的参考信息,请参阅:

这方面的技术术语是a。所以在某种意义上,这是一个正确的术语,与编程语言无关


也就是说,在不同的语言中,这个词确实有合法的名称。正如其他人所提到的,它在英语和其他几种语言中被称为“splat”,并在正式文件中以该名称命名。在javascript中,它被称为。正如其他答案中提到的,它有许多其他语言的名称。不管你叫它什么,它都很有用

在使用python大约10年的时间里,从未听过/见过“splat”。在python中,它还用于打包参数列表,所以在这种情况下应该称为unplat吗?:)@THC4k我建议
splatsplat
。不幸的是,INTERCAL没有
*
作为运营商,因此我们缺少正式的源代码…在JavaScript(es2015)中,它被称为。我也只是说
kwargs
,虽然我想这并不是指操作员本身。这是最准确的答案,可惜没有被接受@alfasin:expression“The
*
-operator”是不明确的,因为
*
(取决于上下文)可以执行参数扩展或乘法,这是两种不同的操作。@hellogoodbay,从上下文中理解它是哪一种并不困难。似乎OP在问如何执行发音(可能是单词本身,也可能不是,这是另一个兔子洞)
*
。如果说这是
*-操作符
,那就是简单地把问题作为答案扔回去。OP可能想知道当他遇到它时如何大声说出来(或在脑海中说出来)。这对我来说都是新的,我将和SPLAT一起运行。JavaScript有等价的扩展<代码>…<代码>操作符。C++中,引用引用,称为解引用操作符(REF::)。此外,在Python中,函数的所有变量(参数)都是通过赋值传递的。(ReF):@ CuldCho,C++中的一个代表完全不同的东西。@ S.Y.Y.Y.Y.*你能描述Dereference Operator(C++)和拆包操作符(Python)之间的区别吗?我认为它们都与记忆位置有关,而不是与记忆中的价值有关。谢谢。@CloudCho看一下。但是你不能像使用SPLAT那样大叫“聚集”或“分散”:D@SamanthaBranham我喜欢聚集和分散是如何容易和清晰地可视化的。当然,splat的可视化效果也很好