Pythonのfor
ループやwhile
ループには、他の多くのプログラミング言語にはないユニークな機能があります。それがループのelse
節です。else
節は、ループが正常に終了した(すなわちbreak
による中断がなかった)場合に実行されます。
例えば、次のコードを考えてみましょう。
for i in range(5):
print(i)
else:
print("Loop finished successfully!")
このコードでは、0から4までの数値が順番に出力され、その後に”Loop finished successfully!”と表示されます。なぜなら、ループが全ての要素を正常に処理し、break
ステートメントによって中断されていないからです。
しかし、break
ステートメントがループを中断した場合、else
節はスキップされます。例えば、以下のようなコードを考えてみましょう。
for i in range(5):
if i == 3:
break
print(i)
else:
print("Loop finished successfully!")
このコードでは、i == 3
の時点でbreak
がループを中断するため、”Loop finished successfully!”というメッセージは表示されません。
ループのelse
節は、ループが特定の条件に達して中断されたのか、それとも正常に全ての要素を処理したのかをチェックするのに便利です。