for x in []:
print('이 줄은 실행되지 않음')
else:
print('For Else block!')
#For Else block!
while False:
print('이 줄은 실행되지 않음')
else:
print('While Else block!')
#While Else block!
핵심
파이썬에서 루프와 같은 간단한 구성 요소는 그 자체로 의미가 명확해야 하므로 루프 뒤에 else를 사용하지 말라
이유
루프 뒤에 오는 else블록은 루프가 반복되는 도중에 break를 만나지 않은 경우에만 실행되므로 "루프가 정상적으로 완료되지 않으면 이 블록을 실행하라는"뜻으로 이해하면 안된다.
- 실제로 루프 안에 break문을 사용하면 else블록 실행X
동작이 직관적이지 않고 혼동을 야기할 수 있으므로 루프 뒤에 else블록을 사용하지 말라