多くのPythonプログラマーはおそらく、while
ループとfor
ループの構文にオプションのelse:
句が含まれていることを認識していません。
for val in iterable:
do_something(val)
else:
clean_up()
else
句の本体は、特定の種類のクリーンアップアクションに適した場所であり、ループの通常の終了時に実行されます。return
つまりbreak
、else
句を使用してループを終了するか、句をスキップします。continue
実行後に終了します。私はちょうどこの理由だけ知っている、それを見上げ、私は覚えていることはできませんので、(再び)ときelse
句が実行されます。
常に?名前が示すように、ループの「失敗」について?定期的に終了しますか?ループが終了してもreturn
?私はそれを調べなければ、完全に確信を持つことはできません。
私はキーワードの選択がelse
根強く残っていることを非難します。このセマンティクスには信じられないほどニーモニックだと思います。私の質問は「なぜこのキーワードがこの目的で使用されているのか」(回答とコメントを読んだ後でのみ、投票する可能性がある)ではなく、else
キーワードの意味を理解するためにキーワードをどのように考えることができますか。したがって、それを覚えることができますか?
私はこれについてかなりの量の議論があったと思います、そして私はtry
ステートメントのelse:
条項(私も調べなければならない)との一貫性のために、そしてリストに追加しないことを目標にして作られた選択を想像することができますPythonの予約語。おそらく、選択した理由によってelse
その機能が明確になり、覚えやすくなりますが、私は名前を機能に関連付けた後です。歴史的な説明自体ではありません。
回答この質問私の質問は簡単に興味深いバックストーリーがたくさん含まれている、の重複として閉鎖されました、。私の質問は別の焦点(特定のセマンティクスとelse
キーワードの選択を関連付ける方法)を持っていますが、この質問へのリンクがどこかにあるはずです。
else
は基本的に「継続条件が失敗した場合」を意味します。従来のforループでは、継続条件は通常i < 42
です。この場合、その部分はif i < 42; execute the loop body; else; do that other thing
break
。正規のユースケースは、ループが何かを検索し、それが見つかったときにブレークする場合です。else
何も見つからなかった場合にのみ実行されます。