nama yang tepat untuk operator python *?


210

Apa nama yang tepat untuk operator *, seperti pada function(*args)? membongkar, membuka ritsleting, sesuatu yang lain?


9
Javascript memiliki operator spread yang setara ....
Wolfgang Kuehn

Jawaban:


170

Di Ruby dan Perl 6 ini disebut "percikan", dan saya pikir kebanyakan orang dari komunitas tersebut akan mencari tahu apa yang Anda maksud jika Anda menyebutnya begitu.

The Python tutorial menggunakan frase "membongkar daftar argumen", yang panjang dan deskriptif. Saya belum pernah mendengar nama khusus lainnya dengan Python.


90
tidak pernah mendengar / melihat "percikan" dalam sekitar 10 tahun menggunakan python.
Joe Koberg

8
Nah dalam python itu juga digunakan untuk mengemas daftar argumen, jadi dalam konteks itu haruskah itu disebut unsplat ? :)
John La Rooy

45
@ THC4k saya usulkan splatsplat.
Josh Lee

5
Sayangnya INTERCAL tidak memiliki *operator sehingga kami kekurangan sumber resmi ...
wberry

3
Dalam JavaScript (es2015) dikenal sebagai operator penyebaran .
Kutyel


49

The Python Tutorial hanya menyebutnya 'yang *-operator'. Itu melakukan pembongkaran daftar argumen sewenang - wenang .


1
Ini adalah jawaban yang paling akurat dan sayang sekali tidak diterima!
alfasin

3
@alfasin: Ungkapan 'the *-operator' bersifat ambigu karena *- tergantung pada konteksnya - dapat melakukan perluasan argumen atau perkalian yang merupakan dua operasi yang berbeda.
HelloGoodbye

1
@ HaloGoodbye dan itu benar-benar tidak sulit untuk memahami yang mana itu dari konteksnya.
alfasin

Sepertinya OP bertanya bagaimana cara mengucapkan (yang mungkin atau mungkin bukan kata itu sendiri - itu lubang kelinci lain) *. Dengan mengatakan itu *-operatoradalah hanya melemparkan pertanyaan kembali sebagai jawaban. OP mungkin ingin tahu bagaimana mengatakannya dengan keras (atau di kepalanya) ketika dia bertemu. Ini semua baru bagi saya, dan saya akan pergi dengan "percikan!".
elPastor

17

Saya mengatakan "star-args" dan orang-orang Python tampaknya tahu apa yang saya maksud.

**lebih rumit - saya pikir hanya "qargs" karena biasanya digunakan sebagai **kwatau**kwargs


2
Saya juga hanya mengatakan kwargs, meskipun itu tidak benar-benar merujuk pada operator itu sendiri, saya kira.
TM.

14

Satu juga dapat memanggil *sebuah mengumpulkan parameter (bila digunakan dalam definisi fungsi argumen) atau Operator pencar (bila digunakan pada fungsi doa).

Seperti yang terlihat di sini: Pikirkan tupel argumen Python / Tuples / Variable-length .


1
tetapi Anda tidak bisa berteriak mengumpulkan atau menyebar seperti yang Anda bisa dengan SPLAT: D
Samantha Branham

@ SamanthaBranham Saya suka bagaimana mengumpulkan dan menyebarkan dapat dengan mudah dan jelas divisualisasikan. Tentu saja percikan memvisualisasikan hebat, juga 😂💥
Anton Strogonoff


1

Saya memanggil * args "star args" atau "varargs" dan ** kwargs "args kata kunci".

Dengan menggunakan situs kami, Anda mengakui telah membaca dan memahami Kebijakan Cookie dan Kebijakan Privasi kami.
Licensed under cc by-sa 3.0 with attribution required.