nome proprio dell'operatore python *?


210

Qual è il nome corretto per operatore *, come in function(*args)? decomprimere, decomprimere, qualcos'altro?


9
Javascript ha l' operatore di diffusione equivalente ....
Wolfgang Kuehn,

Risposte:


170

In Ruby e Perl 6 questo è stato chiamato "splat", e penso che la maggior parte delle persone di quelle comunità capiranno cosa intendi se lo chiami così.

Il tutorial di Python usa la frase "decomprimere gli elenchi di argomenti", che è lunga e descrittiva. Non ho sentito nessun altro nome particolare in Python.


90
mai una volta sentito / visto "splat" in circa 10 anni di utilizzo di Python.
Joe Koberg,

8
Bene in Python è anche usato per impacchettare liste di argomenti, quindi in quel contesto dovrebbe essere chiamato unsplat ? :)
John La Rooy,

45
@ THC4k propongo splatsplat.
Josh Lee,

5
Sfortunatamente INTERCAL non ha *come operatore quindi ci manca una fonte ufficiale ...
wberry,

3
In JavaScript (es2015) è noto come operatore di diffusione .
Kutyel,


49

Il tutorial di Python lo chiama semplicemente "l' *operatore". Esegue il disimballaggio di elenchi di argomenti arbitrari .


1
Questa è la risposta più accurata ed è un peccato che non sia stata accettata!
Alfasin il

3
@alfasin: L'espressione 'the *-operator' è ambigua poiché *- a seconda del contesto - può eseguire l'espansione o la moltiplicazione degli argomenti che sono due diverse operazioni.
Ciao Arrivederci

1
@Buon saluto e non è davvero difficile capire quale sia dal contesto in cui si trova.
Alfasin

Sembra che l'OP stesse chiedendo come pronunciare (che può essere o non essere una parola stessa - questa è un'altra tana di coniglio) *. Dicendo che *-operatorè semplicemente respingere la domanda come risposta. OP probabilmente voleva sapere come dirlo ad alta voce (o nella sua testa) quando lo incontra. Questo è tutto nuovo per me, e andrò con "splat!".
elPastor

17

Dico "star-args" e la gente di Python sembra sapere cosa intendo.

**è più complicato - penso solo a "qargs" poiché di solito è usato come **kwo**kwargs


2
Dico anche kwargs, anche se suppongo che ciò non si riferisca realmente all'operatore stesso.
TM.

14

Si può anche chiamare *un parametro di raccolta (quando usato nella definizione di argomenti di funzione) o un operatore scatter (quando usato su chiamata di funzione).

Come visto qui: Think Tythles / Tuples / Tuple a lunghezza variabile .


1
ma non puoi urlare di radunarti o disperderti come puoi con SPLAT: D
Samantha Branham

@SamanthaBranham Mi piace il modo in cui raccolta e dispersione possono essere visualizzate facilmente e distintamente. Ovviamente anche lo splat visualizza alla grande 😂💥
Anton Strogonoff il


1

Chiamo * args "star args" o "varargs" e ** kwargs "keyword args".

Utilizzando il nostro sito, riconosci di aver letto e compreso le nostre Informativa sui cookie e Informativa sulla privacy.
Licensed under cc by-sa 3.0 with attribution required.