파이썬에서 else 문은 일반적으로 if 문과 함께 사용되는 것을 주로 볼 수 있습니다. 그러나 파이썬에서는 else 문이 for, while 및 try 문과도 함께 사용될 수 있습니다. 이러한 사용법은 다른 언어와는 달리 특별하며, 때로는 혼동을 줄 수 있습니다. 각 사용 사례에 대해 설명하겠습니다.

 

1) for-else: for 문과 함께 사용될 때, for 문이 전체를 순회한 후에 (즉, 중간에 break로 인해 중단되지 않은 경우) else 블록이 실행됩니다.

for i in range(5):
    if i == 10:
        break
else:
    print("Loop was not interrupted by break.")

 

2) while-else: while 문과 함께 사용될 때, while 조건이 거짓이 되어서 루프가 종료된 후에 else 블록이 실행됩니다. 그러나 루프가 break로 중단되면 else는 실행되지 않습니다.

i = 0
while i < 5:
    i += 1
    if i == 10:
        break
else:
    print("Loop was not interrupted by break.")

 

3) try-except-else: try 블록 내에서 예외가 발생하지 않았을 때 else 블록이 실행됩니다. 이는 try 블록이 성공적으로 실행된 후 추가적인 코드를 실행하려 할 때 유용합니다.

try:
    x = 1 + 1
except TypeError:
    print("An error occurred!")
else:
    print("No errors occurred!")

 

이러한 사용법은 초기에는 조금 혼동스러울 수 있지만, 특정한 상황에서 로직을 더 명확하게 표현할 수 있게 도와줍니다.

개발자 성현