2010-02-23 16 views

Odpowiedz

115

W Rubim i Perlu 6 został nazwany "splat" i myślę, że większość ludzi z tych społeczności zorientuje się, co masz na myśli, jeśli to nazwiesz.

W obiekcie Python tutorial używana jest fraza "rozpakowywanie listy argumentów", która jest długa i opisowa. Nie słyszałem w Pythonie żadnej innej szczególnej nazwy.

+5

Czy istnieje też nazwa '**' lub czy jest to unikatowe w Pythonie? –

+71

ani razu nie słyszałem/widziałem "splat" w około 10 lat używania Pythona. –

+8

W pythonie jest on również używany do ** list argumentów ** pack, więc w tym kontekście powinien on nazywać się ** unsplat **? :) –

27

Po prostu nazywa się to "* -operator". Wykonuje rozpakowanie arbitrary argument lists.

+0

To jest najdokładniejsza odpowiedź, a szkoda, że ​​nie została zaakceptowana! – alfasin

+2

@alfasin: Wyrażenie '* '-operator' jest niejednoznaczne, ponieważ' * '- w zależności od kontekstu - może wykonać albo rozszerzenie argumentu, albo mnożenie, które są dwiema różnymi operacjami. – HelloGoodbye

+0

@HelloGoodbye i naprawdę nie jest trudno zrozumieć, który to jest z kontekstu, w którym się znajduje. – alfasin

16

Mówię "gwiazda-args", a Python wydaje się, że ludzie wiedzą co mam na myśli.

** jest trudniejsze - Myślę, że tylko „qargs” ponieważ jest zwykle używany jako **kw lub **kwargs

+2

Po prostu mówię 'kwargs', chociaż to tak naprawdę nie odnosi się do operatora sam przypuszczam. –

93

ja to nazywam „pozycyjny ekspansja”, w przeciwieństwie do ** który nazywam „ekspansja słowo kluczowe”.

+2

podwójna ikona, haha. –

-1

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

Powiązane problemy