อะไรคือชื่อที่ถูกต้องสำหรับผู้ประกอบการ*ในขณะที่function(*args)? แกะคลายซิปมีอะไรอีกไหม
อะไรคือชื่อที่ถูกต้องสำหรับผู้ประกอบการ*ในขณะที่function(*args)? แกะคลายซิปมีอะไรอีกไหม
คำตอบ:
ใน Ruby และ Perl 6 นี่เรียกว่า "splat" และฉันคิดว่าคนส่วนใหญ่จากชุมชนเหล่านั้นจะเข้าใจว่าคุณหมายถึงอะไรถ้าคุณเรียกมันว่า
หลามกวดวิชาใช้วลี "เอาออกรายการอาร์กิวเมนต์" ซึ่งมีความยาวและพรรณนา ฉันไม่เคยได้ยินชื่ออื่นมาก่อนใน Python
splatsplatผมเสนอ
*โอเปอเรเตอร์ดังนั้นเราจึงขาดแหล่งข้อมูลอย่างเป็นทางการ ...
ฉันเรียกว่า "การขยายตำแหน่ง" ซึ่งตรงข้ามกับ**ที่ฉันเรียกว่า "การขยายคำหลัก"
หลามกวดวิชาก็เรียกมันว่าฯ*-operator ' จะดำเนินการเอาออกจากรายการอาร์กิวเมนต์โดยพลการ
*-operator' นั้นคลุมเครือตั้งแต่*- ขึ้นอยู่กับบริบท - สามารถทำการโต้แย้งการขยายตัวหรือการคูณซึ่งเป็นการดำเนินการสองอย่างที่แตกต่างกัน
*ที่หลุมกระต่ายอื่น) โดยการบอกว่ามัน*-operatorเป็นเพียงการส่งคำถามกลับมาเป็นคำตอบ โอเพ่นอยากรู้วิธีพูดออกมาดัง ๆ (หรือในหัวของเขา) เมื่อเขาพบมัน ทั้งหมดนี้เป็นเรื่องใหม่สำหรับฉันและฉันจะไปกับ "เครื่องหมาย!"
ฉันพูดว่า "star-args" และคน Python ดูเหมือนจะรู้ว่าฉันหมายถึงอะไร
**เป็นเล่ห์เหลี่ยม - ฉันคิดว่า "qargs" เพราะมันมักจะใช้เป็น**kwหรือ**kwargs
kwargsแม้ว่ามันจะไม่ได้อ้างถึงโอเปอเรเตอร์จริงๆ แต่ฉันคิดว่า
หนึ่งยังสามารถโทรรวบรวมพารามิเตอร์ (เมื่อนำมาใช้ในความหมายข้อโต้แย้งฟังก์ชั่น) หรือผู้ประกอบการกระจาย (เมื่อนำมาใช้ในการภาวนาฟังก์ชั่น)*
เท่าที่เห็นนี่: คิดว่างูหลาม / Tuples / ความยาวตัวแปร tuples
ฉันเชื่อว่ามันมักเรียกกันว่า การเปิดออกอาร์กิวเมนต์เป็นสิ่งที่ทำ
ฉันเรียก * args "star args" หรือ "varargs" และ ** kwargs "คำหลัก args"
...ผู้ประกอบการ