파이썬에서는 for 루프뿐만 아니라 while 루프에도 else 블록을 사용할 수 있습니다. 이 else 블록은 루프의 모든 반복이 정상적으로 완료된 후, 프로그램 흐름이 루프 본문을 벗어나기 직전에 실행됩니다. 다른 언어에는 없는 파이썬만의 독특한 문법이므로 잘 익혀두면 유용하게 활용할 수 있습니다.
기본 문법
루프와 else의 기본 구조는 다음과 같습니다.
while expr==True:
# expr이 참인 동안 반복 실행되는 문장들
else:
# 모든 반복이 끝난 후 실행될 문장들# 프로그램이 루프 본문을 벗어난 후 이 부분이 실행됩니다
예제 코드
아래 예제는 range(6)으로 생성된 값들을 순서대로 출력하고, 반복이 모두 끝나면 else 블록이 실행되는 모습을 보여줍니다.
for x in range(6):
print(x)
else:
print("else block of loop")
print("loop is over")실행 결과
실행 결과는 아래와 같습니다.
0 1 2 3 4 5 else block of loop loop is over
else 절의 핵심 포인트
루프의 else 블록은 루프가 break 문 없이 정상적으로 종료되었을 때만 실행됩니다. 만약 반복 도중 break 문으로 루프가 강제로 탈출하면 else 블록은 건너뛰게 됩니다. 이러한 특성 때문에 루프 안에서 특정 값을 찾지 못했을 때의 처리 로직을 깔끔하게 작성하는 데 자주 활용됩니다.