nome próprio para o operador python *?


210

Qual é o nome correto para o operador *, como em function(*args)? descompactar, descompactar, outra coisa?


9
Javascript tem o operador de propagação equivalente ....
Wolfgang Kuehn

Respostas:


170

Em Ruby e Perl 6, isso foi chamado de "splat", e acho que a maioria das pessoas dessas comunidades descobrirá o que você quer dizer com isso.

O tutorial do Python usa a frase "descompactar listas de argumentos", que é longa e descritiva. Eu não ouvi nenhum outro nome específico para ele em Python.


90
nunca ouviu ou viu "splat" em 10 anos usando python.
Joe Koberg 23/02

8
Bem, em python, ele também é usado para empacotar listas de argumentos; portanto, nesse contexto, ele deve ser chamado de sem plataforma ? :)
John La Rooy 23/02

45
@ THC4k proponho splatsplat.
21710 Josh Lee

5
Infelizmente INTERCAL não tem *como um operador assim que nós estamos faltando para uma fonte oficial ...
wberry

3
No JavaScript (es2015), é conhecido como o operador de propagação .
Kutyel


49

O Tutorial do Python simplesmente o chama de ' *operador'. Ele realiza a descompactação de listas de argumentos arbitrárias .


1
Esta é a resposta mais precisa e é uma pena que não tenha sido aceita!
Alfasin

3
@ alfasin: A expressão 'the *-operator' é ambígua, pois *- dependendo do contexto - pode executar expansão ou multiplicação de argumentos, que são duas operações diferentes.
HelloGoodbye

1
@HelloGoodbye e não é realmente difícil de entender qual é que é a partir do contexto que está.
alfasin

Parece que o OP estava perguntando como pronunciar (que pode ou não ser uma palavra em si - isso é outra toca do coelho) *. Ao dizer que *-operatoré simplesmente jogar a pergunta de volta como resposta. O OP provavelmente queria saber como dizer em voz alta (ou na cabeça) quando o encontrasse. Isso tudo é novo para mim, e eu irei com "splat!".
ElPastor 23/03/19

17

Eu digo "star-args" e as pessoas do Python parecem saber o que quero dizer.

**é mais complicado - acho que apenas "qargs", pois geralmente é usado como **kwou**kwargs


2
Também digo kwargs, embora isso não se refira realmente ao próprio operador, suponho.
TM.

14

Também é possível chamar *um parâmetro de coleta (quando usado na definição de argumentos de função) ou um operador de dispersão (quando usado na chamada de função).

Como visto aqui: Pense em tuplas de argumento Python / Tuplas / Comprimento variável .


1
mas você não pode gritar reunir ou espalhar como você pode com SPLAT: D
Samantha Branham

@SamanthaBranham Gosto de como a coleta e a dispersão podem ser visualizadas de maneira fácil e distinta. De visualiza curso splat grande, também 😂💥
Anton Strogonoff


1

Eu chamo * args "args estrela" ou "varargs" e ** kwargs "palavra-chave args".

Ao utilizar nosso site, você reconhece que leu e compreendeu nossa Política de Cookies e nossa Política de Privacidade.
Licensed under cc by-sa 3.0 with attribution required.