nombre propio del operador python *?


210

¿Cuál es el nombre correcto para operador *, como en function(*args)? descomprimir, descomprimir, algo más?


9
Javascript tiene el operador de propagación equivalente ....
Wolfgang Kuehn

Respuestas:


170

En Ruby y Perl 6 esto se ha llamado "splat", y creo que la mayoría de las personas de esas comunidades entenderán a qué te refieres si lo llamas así.

El tutorial de Python usa la frase "desempacar listas de argumentos", que es larga y descriptiva. No he escuchado ningún otro nombre en particular en Python.


90
Nunca escuché / vi "splat" en aproximadamente 10 años de usar Python.
Joe Koberg

8
Bueno, en Python también se usa para empacar listas de argumentos, entonces, en ese contexto, ¿debería llamarse unsplat ? :)
John La Rooy

45
@ THC4k propongo splatsplat.
Josh Lee

55
Desafortunadamente, INTERCAL no tiene *como operador, por lo que nos falta una fuente oficial ...
wberry

3
En JavaScript (es2015) se conoce como el operador de propagación .
Kutyel


49

El Tutorial de Python simplemente lo llama 'el *operador'. Realiza el desempaquetado de listas de argumentos arbitrarios .


1
¡Esta es la respuesta más precisa y es una pena que no haya sido aceptada!
alfasin

3
@alfasin: La expresión 'the *-operator' es ambigua ya que *, dependiendo del contexto, puede realizar la expansión o multiplicación de argumentos, que son dos operaciones diferentes.
Hola

1
@HelloGoodbye y realmente no es difícil entender cuál es por el contexto en el que se encuentra.
alfasin

Parece que el OP estaba preguntando cómo pronunciar (lo que puede o no ser una palabra en sí misma, esa es otra madriguera) *. Al decir que *-operatores simplemente está devolviendo la pregunta como respuesta. OP probablemente quiso saber cómo decirlo en voz alta (o en su cabeza) cuando lo encuentra. Todo esto es nuevo para mí, y voy a ir con "splat!".
elPastor el

17

Digo "star-args" y la gente de Python parece saber a qué me refiero.

**es más complicado: creo que solo "qargs" ya que generalmente se usa como **kwo**kwargs


2
También solo digo kwargs, aunque eso realmente no se refiere al operador en sí, supongo.
TM.

14

También se puede llamar *un parámetro de recopilación (cuando se usa en la definición de argumentos de función) o un operador de dispersión (cuando se usa en la invocación de función).

Como se ve aquí: Piense en Python / Tuplas / Tuplas de argumento de longitud variable .


1
pero no puede gritar reunirse o dispersarse como puede con SPLAT: D
Samantha Branham

@SamanthaBranham Me gusta cómo se pueden visualizar de forma fácil y clara la reunión y la dispersión. Por supuesto, Splat visualiza muy bien también
Anton


1

Llamo * args "star args" o "varargs" y ** kwargs "palabra clave args".

Al usar nuestro sitio, usted reconoce que ha leído y comprende nuestra Política de Cookies y Política de Privacidad.
Licensed under cc by-sa 3.0 with attribution required.