มีรูปแบบการเข้ารหัสที่แนะนำ / ยอมรับโดยทั่วไปสำหรับการจัดการสถานการณ์ที่ฟังก์ชันส่งคืนค่า tuple แต่จะใช้ค่าเหล่านั้นเพียงหนึ่งค่าในภายหลัง (โปรดทราบว่านี่เป็นความหมายส่วนใหญ่สำหรับฟังก์ชั่นห้องสมุดที่ฉันไม่สามารถเปลี่ยนแปลงได้ การโทรน่าจะเกินกำลังเล็กน้อย ... )? แทนที่จะทำ
a, b, c = foo()
และจากนั้นก็ไม่ได้ใช้bและcควรเลือกอันใดของตัวแปรต่อไปนี้ (หรือมีอีกอันหนึ่ง):
ตัวแปร 1 (ขีดล่าง)
a, _, _ = foo()
(ซึ่งมีความชัดเจนและเรียบง่าย แต่อาจขัดแย้งกับการ_ = gettext.gettextใช้งานในหลาย ๆ แอปพลิเคชันที่ใช้การแปล)
ตัวแปร 2 (ชื่อจำลอง)
a, unused, unused = foo()
(ไม่น่าสนใจมากฉันคิดว่าเหมือนกันไปสำหรับชื่ออื่น ๆ เช่นdummy)
ตัวแปร 3 (ดัชนี)
a = foo()[0]
(สำหรับฉัน()[0]ภาพลักษณ์ที่ไม่ไพเราะ…)
a, b = foo()[0:2]จะใช้งานได้หรือไม่ ถ้าใช่: ใช่มันจะเป็นเช่นนั้น :)
a, *_ = foo()จะทิ้งค่าทั้งหมดยกเว้นครั้งแรก