「Effective Python」を久しぶりに読み返して、当時は特に何も思わなかった箇所に引っかかったのでメモを残しておきます。

Effective Python ―Pythonプログラムを改良する59項目
- 作者: Brett Slatkin,石本敦夫,黒川利明
- 出版社/メーカー: オライリージャパン
- 発売日: 2016/01/23
- メディア: 大型本
- この商品を含むブログ (5件) を見る
Python で for ループの後の else ブロックは使わないこと
ガーン!
めちゃくちゃ使ってました。えぇ、ホントに。いや、めちゃくちゃは言い過ぎかもしれません。たまに使います。
使ってはいけない理由はとてもシンプルで、
「if/else や try/except/else と else の意味合いが直感的に異なるから」
です。
- if/else の場合、if ブロックが実行されなければ else ブロックを実行
- for/else の場合、for ブロックが最後まで実行されたら else ブロックを実行
確かに逆ですね。
今後は、うっかり使わないように気をつけます。