[Python]else節を含むループ

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節は、ループが特定の条件に達して中断されたのか、それとも正常に全ての要素を処理したのかをチェックするのに便利です。