คำถามติดแท็ก argument-unpacking

21
** (ดาวคู่ / ดอกจัน) และ * (ดาว / ดอกจัน) ทำอะไรเพื่อพารามิเตอร์
Наэтотвопросестьответына กองมากเกินнарусском : Чтозначит * (звёздочка) и ** двойнаязвёздочкавПитоне? ในคำจำกัดความของวิธีการต่อไปนี้จะทำอะไร*และ**ทำparam2อะไร def foo(param1, *param2): def bar(param1, **param2):

5
ตัวดำเนินการดาวหมายถึงอะไรในการเรียกใช้ฟังก์ชัน
ตัว*ดำเนินการหมายถึงอะไรใน Python เช่นในโค้ด like zip(*x)หรือf(**k)? วิธีการจัดการภายในล่าม? มีผลต่อประสิทธิภาพหรือไม่? เร็วหรือช้า? มีประโยชน์เมื่อใดและเมื่อใดไม่เป็นประโยชน์? ควรใช้ในการประกาศฟังก์ชันหรือในการโทร?

4
ไปแกะกล่อง Array เป็นอาร์กิวเมนต์
ดังนั้นใน Python และ Ruby จึงมีตัวดำเนินการ splat (*) สำหรับการคลายอาร์เรย์เป็นอาร์กิวเมนต์ ใน Javascript มีฟังก์ชัน .apply () มีวิธีแกะอาร์เรย์ / สไลซ์เป็นอาร์กิวเมนต์ของฟังก์ชันใน Go หรือไม่? ทรัพยากรใด ๆ สำหรับสิ่งนี้ก็จะดีเช่นกัน! บางสิ่งบางอย่างตามแนวนี้: func my_func(a, b int) (int) { return a + b } func main() { arr := []int{2,4} sum := my_func(arr) } ฉันขออภัยหากฉันทำผิดพลาดเกี่ยวกับไวยากรณ์ / สารพัน ฉันเพิ่งเริ่มใช้ Go

3
การเปิดออกการขยายการเปิดออกและการขยายแบบซ้อนกัน
พิจารณานิพจน์ต่อไปนี้ โปรดทราบว่าบางนิพจน์ซ้ำเพื่อนำเสนอ "บริบท" (นี่คือรายการยาว) a, b = 1, 2 # simple sequence assignment a, b = ['green', 'blue'] # list asqignment a, b = 'XY' # string assignment a, b = range(1,5,2) # any iterable will do # nested sequence assignment (a,b), c = "XY", "Z" # a = 'X', …
โดยการใช้ไซต์ของเรา หมายความว่าคุณได้อ่านและทำความเข้าใจนโยบายคุกกี้และนโยบายความเป็นส่วนตัวของเราแล้ว
Licensed under cc by-sa 3.0 with attribution required.