Banyak programmer Python mungkin tidak menyadari bahwa sintaks dari whileloop dan forloop menyertakan else:klausa opsional :
for val in iterable:
do_something(val)
else:
clean_up()
Tubuh elseklausa adalah tempat yang baik untuk beberapa jenis tindakan pembersihan, dan dijalankan pada terminasi loop normal: Yaitu, keluar dari loop dengan returnatau breakmelewatkan elseklausa; keluar setelah continuemenjalankannya. Aku tahu ini hanya karena saya hanya melihat ke atas (lagi), karena saya tidak pernah bisa mengingat saat ini elseklausul dijalankan.
Selalu? Pada "kegagalan" dari loop, seperti namanya? Pemutusan hubungan kerja reguler? Bahkan jika loop keluar dengan return? Saya tidak pernah bisa sepenuhnya yakin tanpa mencarinya.
Saya menyalahkan ketidakpastian yang terus-menerus saya pada pilihan kata kunci: Saya menemukan elsesangat tidak kesalahan untuk semantik ini. Pertanyaan saya bukanlah "mengapa kata kunci ini digunakan untuk tujuan ini" (yang mungkin akan saya pilih untuk ditutup, meskipun hanya setelah membaca jawaban dan komentar), tetapi bagaimana saya bisa memikirkan elsekata kunci sehingga semantiknya masuk akal, dan saya dapatkah karena itu mengingatnya?
Saya yakin ada cukup banyak diskusi tentang ini, dan saya bisa membayangkan bahwa pilihan dibuat untuk konsistensi dengan klausa trypernyataan else:(yang saya juga harus melihat ke atas), dan dengan tujuan tidak menambah daftar Kata-kata Python cadangan. Mungkin alasan untuk memilih elseakan memperjelas fungsinya dan membuatnya lebih mudah diingat, tapi saya setelah menghubungkan nama dengan fungsi, bukan setelah penjelasan historis semata.
Jawaban atas pertanyaan ini , yang secara singkat ditutup oleh pertanyaan saya sebagai duplikat, berisi banyak cerita belakang yang menarik. Pertanyaan saya memiliki fokus yang berbeda (bagaimana menghubungkan semantik spesifik elsedengan pilihan kata kunci), tetapi saya merasa harus ada tautan ke pertanyaan ini di suatu tempat.
elseberarti pada dasarnya, "jika kondisi kelanjutan gagal". Dalam perulangan tradisional, kondisi kelanjutan biasanya i < 42, dalam hal ini, Anda dapat melihat bagian itu sebagaiif i < 42; execute the loop body; else; do that other thing
break. Case use kanonik adalah ketika loop mencari sesuatu, dan rusak ketika menemukannya. Ini elsedieksekusi hanya jika tidak ada yang ditemukan.