nombre apropiado para el operador python*?


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

Author: Josh Lee, 2010-02-24

7 answers

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

El tutorial de Python utiliza la frase "desempaquetar listas de argumentos", que es larga y descriptiva. No he oído ningún otro nombre en particular para él en Python.

 131
Author: ephemient,
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/ajaxhispano.com/template/agent.layouts/content.php on line 61
2010-02-23 22:53:19

Lo llamo "expansión posicional", en oposición a ** que llamo "expansión de palabras clave".

 105
Author: Ignacio Vazquez-Abrams,
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/ajaxhispano.com/template/agent.layouts/content.php on line 61
2010-02-24 02:40:50

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

 31
Author: Danilo Piazzalunga,
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/ajaxhispano.com/template/agent.layouts/content.php on line 61
2017-02-07 18:21:26

Digo "star-args" y la gente de Python parece saber lo que quiero decir.

** es más complicado-creo que solo "qargs", ya que generalmente se usa como **kw o **kwargs

 16
Author: John La Rooy,
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/ajaxhispano.com/template/agent.layouts/content.php on line 61
2010-02-23 23:29:05

También se puede llamar * a gather parameter (cuando se usa en la definición de argumentos de función) o a scatter operator (cuando se usa en la invocación de función).

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

 13
Author: Tony,
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/ajaxhispano.com/template/agent.layouts/content.php on line 61
2011-07-15 12:53:48

Creo que es más comúnmente llamado el "operador splat." Desempaquetar argumentos es lo que hace.

 5
Author: Chuck,
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/ajaxhispano.com/template/agent.layouts/content.php on line 61
2017-05-23 10:31:15

Llamo a *args "star args" o "varargs" y **kwargs "keyword args".

 -1
Author: wberry,
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/ajaxhispano.com/template/agent.layouts/content.php on line 61
2011-05-09 21:22:31