poprawna nazwa dla operatora python *?

208

Jaka jest poprawna nazwa dla operatora *, jak w function(*args)? rozpakować, rozpakować, coś jeszcze?

Anycorn
źródło
9
JavaScript ma równoważny operator rozprzestrzeniania ... .
Wolfgang Kuehn

Odpowiedzi:

168

W Ruby i Perl 6 nazywa się to „ikoną” i myślę, że większość ludzi z tych społeczności zrozumie, co masz na myśli, jeśli tak to nazwiesz.

Samouczek Python używa zwrotu „rozpakowywania listy argumentów”, która jest długa i opisowe. Nie słyszałem żadnej innej konkretnej nazwy w Pythonie.

efemeryczny
źródło
90
nigdy nie słyszałem / nie widziałem „ikony” w ciągu około 10 lat używania Pythona.
Joe Koberg
8
Cóż, w Pythonie jest również używany do pakowania list argumentów, więc w tym kontekście należy go nazwać unsplat ? :)
John La Rooy
45
@ THC4k Proponuję splatsplat.
Josh Lee,
5
Niestety INTERCAL nie ma *jako operator, więc brakuje nam oficjalnego źródła ...
wberry
3
W JavaScript (es2015) jest znany jako operator rozprzestrzeniania .
Kutyel,
118

Nazywam to „ekspansją pozycyjną”, w przeciwieństwie do **„ekspansji słowa kluczowego”.

Ignacio Vazquez-Abrams
źródło
49

Python Tutorial prostu nazywa to zwanej dalej „ *-operator”. Wykonuje rozpakowywanie dowolnych list argumentów .

Danilo Piazzalunga
źródło
1
To jest najdokładniejsza odpowiedź i szkoda, że ​​nie została zaakceptowana!
alfasin
3
@alfasin: Wyrażenie „the *-operator” jest dwuznaczne, ponieważ *- w zależności od kontekstu - może wykonywać interpretację lub mnożenie argumentów, które są dwiema różnymi operacjami.
HelloGoodbye,
1
@HelloGoodbye i naprawdę nie jest trudno zrozumieć, który z nich jest w kontekście, w którym się znajduje.
alfasin
Wygląda na to, że OP pytał, jak wymawiać (co może, ale nie musi być samym słowem - to kolejna nora królika) *. Mówiąc, że *-operatorto po prostu odrzucenie pytania jako odpowiedzi. OP prawdopodobnie chciał wiedzieć, jak to powiedzieć na głos (lub w głowie), gdy go napotka. To wszystko jest dla mnie nowe, a ja pójdę z „splat!”.
elPastor
17

Mówię „star-args”, a ludzie Pythona zdają się wiedzieć, co mam na myśli.

**jest trudniejsze - myślę, że po prostu „qargs”, ponieważ zwykle używa się go jako **kwlub**kwargs

John La Rooy
źródło
2
Mówię też tylko kwargs, że tak naprawdę nie odnosi się to do samego operatora.
TM.
14

Można również zadzwonić zbierać parametr (gdy jest stosowany w definicji argumenty funkcji) lub operator rozproszenia (gdy jest stosowany w wywołania funkcji).*

Jak widać tutaj: Pomyśl krotki argumentów Python / Tuples / Variable-length .

Anton Strogonoff
źródło
1
ale nie możesz krzyczeć, zbierać ani rozpraszać, jak to możliwe dzięki SPLAT: D
Samantha Branham
@SamanthaBranham Podoba mi się, jak gromadzenie i rozpraszanie może być łatwo i wyraźnie wizualizowane. Oczywiście ikona też świetnie się prezentuje 😂💥
Anton Strogonoff
7

Uważam, że jest to najczęściej nazywane „operatorem ikony”. Odpakowuje argumenty .

Głaskanie pod brodę
źródło
1

Nazywam * args „star args” lub „varargs” i ** kwargs „słowo kluczowe args”.

jagoda
źródło