มีรูปแบบการเข้ารหัสที่แนะนำ / ยอมรับโดยทั่วไปสำหรับการจัดการสถานการณ์ที่ฟังก์ชันส่งคืนค่า 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()
จะทิ้งค่าทั้งหมดยกเว้นครั้งแรก