โปรแกรมเมอร์ Python หลายคนอาจไม่รู้ว่าไวยากรณ์ของwhile
ลูปและfor
ลูปรวมถึงelse:
ประโยคที่เป็นตัวเลือก:
for val in iterable:
do_something(val)
else:
clean_up()
เนื้อความของelse
clause เป็นสถานที่ที่ดีสำหรับการดำเนินการล้างข้อมูลบางประเภทและดำเนินการเมื่อสิ้นสุดการวนรอบปกติ: คือออกจากลูปด้วยreturn
หรือbreak
ข้ามelse
ประโยค; ออกหลังจากcontinue
เรียกใช้งานมัน ฉันรู้ว่านี้เพียงเพราะฉันเพียงแค่มองมันขึ้น (อีกครั้ง) เพราะฉันไม่สามารถจำได้ว่าเมื่อelse
ข้อจะถูกดำเนินการ
เสมอ? เมื่อ "ล้มเหลว" ของลูปตามชื่อแนะนำ? เมื่อเลิกจ้างปกติ? แม้ว่าจะออกจากลูปด้วยreturn
หรือไม่ ฉันไม่สามารถมั่นใจได้อย่างสมบูรณ์โดยไม่ต้องมองหามัน
ฉันโทษความไม่แน่นอนที่ยังคงมีอยู่ของฉันเกี่ยวกับการเลือกคำหลัก: ฉันพบว่าไม่มีความelse
ผิดพลาดอย่างเหลือเชื่อสำหรับซีแมนติกส์นี้ คำถามของฉันไม่ใช่ "เพราะเหตุใดคำหลักนี้จึงใช้เพื่อจุดประสงค์นี้" (ซึ่งฉันอาจจะลงคะแนนให้ปิด แต่หลังจากอ่านคำตอบและความคิดเห็นแล้ว) แต่ฉันจะคิดอย่างไรเกี่ยวกับelse
คำหลักเพื่อให้ความหมายของมันสมเหตุสมผล จำได้ไหม
ฉันแน่ใจว่ามีจำนวนการสนทนาที่ยุติธรรมเกี่ยวกับเรื่องนี้และฉันสามารถจินตนาการได้ว่าตัวเลือกถูกสร้างขึ้นเพื่อความสอดคล้องกับประโยคtry
ของแถลงการณ์else:
(ซึ่งฉันต้องค้นหาด้วย) และมีเป้าหมายที่จะไม่เพิ่มเข้าไปในรายการ คำสงวนของไพ ธ อน บางทีเหตุผลในการเลือกelse
จะทำให้ฟังก์ชั่นของมันชัดเจนขึ้นและทำให้มันน่าจดจำมากขึ้น แต่ฉันหลังจากเชื่อมต่อชื่อกับฟังก์ชั่นไม่ใช่หลังจากคำอธิบายทางประวัติศาสตร์ต่อกัน
คำตอบสำหรับคำถามนี้ซึ่งคำถามของฉันถูกปิดสั้น ๆ ซ้ำ ๆ กันมีเรื่องราวที่น่าสนใจมากมาย คำถามของฉันมีจุดเน้นที่แตกต่างกัน (วิธีเชื่อมต่อความหมายเฉพาะelse
กับตัวเลือกคำหลัก) แต่ฉันรู้สึกว่าควรมีลิงก์ไปยังคำถามนี้ที่ไหนสักแห่ง
else
หมายโดยทั่วไป "ถ้าเงื่อนไขต่อเนื่องล้มเหลว" ในแบบดั้งเดิมสำหรับการวนซ้ำสภาพความต่อเนื่องเป็นปกติi < 42
ซึ่งในกรณีนี้คุณสามารถดูส่วนที่เป็นif i < 42; execute the loop body; else; do that other thing
break
มีความแตกต่างเมื่อรหัสออกโดย กรณีการใช้งานที่ยอมรับได้คือเมื่อลูปค้นหาบางสิ่งและหยุดเมื่อพบ else
จะดำเนินการเฉพาะในกรณีที่ไม่พบ