¿Cuál es el nombre correcto para el operador *
, como en function(*args)
? descomprimir, descomprimir, ¿algo más?nombre propio para python * operator?
Respuesta
En Ruby y Perl 6 esto se ha denominado "splat", y creo que la mayoría de la gente de esas comunidades sabrá qué quiere decir si lo llama así.
El Python tutorial usa la frase "desempaquetar listas de argumentos", que es larga y descriptiva. No he escuchado ningún otro nombre particular en Python.
¿Hay un nombre para '**' también, o es exclusivo de Python? –
nunca escuchó/vio "splat" en unos 10 años de uso de Python. –
Bueno, en Python también se usa para ** empacar ** listas de argumentos, ¿en ese contexto debería llamarse ** unsplat **? :) –
Creo que es más comúnmente llamado el "operador de splat". Unpacking arguments es lo que hace.
El Python Tutorial simplemente lo llama 'el *
-operador'. Realiza el desembalaje de arbitrary argument lists.
¡Esta es la respuesta más precisa y es una pena que no haya sido aceptada! – alfasin
@alfasin: La expresión 'the '*' -operator' es ambigua ya que '*' - dependiendo del contexto - puede realizar cualquier expansión o multiplicación de argumento que son dos operaciones diferentes. – HelloGoodbye
@HelloGoodbye y realmente no es difícil de entender cuál es el contexto en el que se encuentra. – alfasin
Digo "star-args" y la gente de Python parece saber a qué me refiero.
**
es complicado - Creo que sólo "qargs" ya que se utiliza por lo general como **kw
o **kwargs
También digo 'kwargs', aunque eso en realidad no se refiere al operador en sí, supongo. –
Lo llamo "la expansión posicional", en contraposición a **
que llamo "expansión de palabras clave".
double-splat, jaja. –
Llamo * args "star args" o "varargs" y ** kwargs "keyword args".
También se puede llamar *
un reúnen parámetro (cuando se utiliza en argumentos de la función definición) o un operador dispersión (cuando se usa a invocación de la función).
Como se ve aquí: Think Python/Tuples/Variable-length argument tuples.
- 1. Python y HTML '% Operator'
- 2. Python CMS para mi propio sitio web?
- 3. ruby operator "= ~"
- 4. F # operator "?"
- 5. jQuery @ operator?
- 6. Scala @ operator
- 7. Creando mi propio objeto "entero" en Python
- 8. Manipular PHP-instanceof-operator para wrapper-class
- 9. Mi propio programa OCR en Python
- 10. C++ Operator() paréntesis sobrecarga
- 11. Groovy spread-dot operator
- 12. PHP Ternary operator clarification
- 13. Octave/Matlab: vectorising '==' operator?
- 14. operator std :: string() const?
- 15. bitwise not operator
- 16. Scala operator oddity
- 17. LINQ Between Operator
- 18. C++ lambda operator ==
- 19. Cómo definir/@ - like operator
- 20. C++ typeid operator
- 21. \ operator en VB
- 22. typeof operator en C
- 23. xQuery LIKE-operator?
- 24. ¿puede una función actionscript encontrar su propio nombre?
- 25. ¿Puede un método ColdFusion cfc determinar su propio nombre?
- 26. C++ Nombre Mangling Library para Python
- 27. jQuery.Deferred() - "new" operator is optional?
- 28. Ruby ternary operator without else
- 29. operator << overloading ostream
- 30. file_get_contents() conexión rechazada para mi propio sitio
Javascript tiene el operador ** spread ** '...' equivalente. –