Python *演算子の適切な名前?


208

オペレータの正しい名前は何である*のように、function(*args)?解凍、解凍、他に何かありますか?


9
JavaScriptには同等のスプレッド ...演算子があります。
Wolfgang Kuehn

回答:


168

RubyとPerl 6では、これは「splat」と呼ばれており、それらのコミュニティのほとんどの人は、あなたがそれをそれと呼ぶ場合、あなたが何を意味するのか理解できると思います。

Pythonのチュートリアルでは、長いと記述され、「引数リストを開梱」という語句を使用しています。Pythonで他の特定の名前を聞いたことがありません。


90
Pythonを使用してから約10年間、「感嘆符」を聞いたり見たりしたことはありません。
Joe Koberg、2010

8
まあPythonでは引数リストをパックするのにも使われるので、そのコンテキストではunsplatと呼ばれるべきですか?:)
John La Rooy、2010

45
@ THC4k提案しsplatsplatます。
ジョシュリー

5
残念ながらINTERCALには*オペレーターがいないため、公式ソースが不足しています...
wberry

3
JavaScript(es2015)では、スプレッド演算子として知られています
Kutyel 2016年


49

Pythonのチュートリアルでは単に「それを呼び出し*演算子は」。任意の引数リストの解凍を実行します


1
これは最も正確な答えであり、受け入れられなかったのは残念です。
alfasin 2015年

3
@alfasin:コンテキストに応じて、2つの異なる演算である引数の展開または乗算のいずれかを実行できるため、式 'the *-operator'はあいまい*です。
HelloGoodbye 2017

1
@HelloGoodbyeと、それはそれはそれは中のコンテキストからである1本当に理解することは難しいことではありません。
alfasin

OPが発音の仕方を尋ねていたようです(それ自体が単語である場合とそうでない場合があります。これは別のウサギの穴です)*。それ*-operatorは、質問を答えとして投げ返すだけだと言います。OPは、遭遇したときに声を出して(または頭の中で)言い方を知りたがっているでしょう。これはすべて私にとって新しいことであり、私は「はじける!」
elPastor

17

私は「スター引数」と言い、Pythonの人々は私が何を言っているのかを知っているようです。

**トリッキーです-通常、**kwまたはとして使用されるため、「qargs」だけだと思います**kwargs


2
私はまたとだけ言っkwargsていますが、それは私が想定している演算子自体を実際に指しているわけではありません。
TM。

14

また*gatherパラメーター(関数の引数の定義で使用される場合)またはスキャッター演算子(関数の呼び出しで使用される場合)を呼び出すこともできます。

ここに見られるように:Python / Tuples / Variable-length引数タプルを考えてください


1
しかし、SPLAT:Dと同じようにギャザーやスキャッターを叫ぶことはできません。
サマンサ

@SamanthaBranham収集と分散を簡単かつ明確に視覚化できる方法が好きです。あまりにも偉大なコーススプラット可視化、😂💥の
アントンStrogonoff


1

* argsを「star args」または「varargs」と呼び、** kwargsを「keyword args」と呼びます。

弊社のサイトを使用することにより、あなたは弊社のクッキーポリシーおよびプライバシーポリシーを読み、理解したものとみなされます。
Licensed under cc by-sa 3.0 with attribution required.