[파이썬/Python] 파이썬의 for/else 문에 대해서 알고 계신가요?
#파이썬 for/else문 #파이썬 for/else, break
#파이썬 for/else 동작방식
파이썬에서 if/else문에 대해서는 다들 잘 알고 계실꺼에요. 그렇지만 for/else 문이 존재한다는 사실!
알고 계셨나요? for/else문이라.... 사실 잘 이해가 안되시죠?
지금부터 동작방식을 보면서 설명하겠습니다.
먼저 아래와 같은 코드가 있다고 가정해볼게요. 어떤 결과가 나올까요?
for i in range(0, 10):
print(i)
else:
print('End')
0에서 부터 9까지 10번의 for문이 실행되고, 마지막으로 else문까지 정상적으로 실행되면서 아래와 같은 결과가 나오네요.
0
1
2
3
4
5
6
7
8
9
End
그럼 아래와 같은 코드는 어떻게 동작할까요?
for i in range(0, 10):
if i == 5:
break
print(i)
else:
print('End')
0에서 부터 4까지 출력이 완료되고, break문이 동작하면서 for문은 종료가 됩니다. 그 이후, else문은 동작을 할까요?
보시는 것과 같이 동작하지 않습니다. break문으로 for문이 종료될 경우, 아래와 같이 for/else문에서 else는 동작하지 않는 것을 볼 수 있는데요.
0
1
2
3
4
네 맞습니다. 그래서 for/else문은 for문이 break로 잘 종료되었는지 확인하기 위해 쓰이는 경우가 많습니다. break문에 의해 정상 종료 된다면 else문은 동작하지 않을 것이고, break문에 걸리지 않고 for문이 특정 조건까지 모두 실행되고 종료되는 경우는 마지막에 else문이 동작하겠지요.
이것으로 for문의 원하는 동작이 제대로 되었는지 알수가 있는 것이지요.