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的可视化效果也很好