poprawna nazwa dla operatora python *?


208

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


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.


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,


49

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


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


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 .


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


1

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

Korzystając z naszej strony potwierdzasz, że przeczytałeś(-aś) i rozumiesz nasze zasady używania plików cookie i zasady ochrony prywatności.
Licensed under cc by-sa 3.0 with attribution required.