루프_뒤에_else_블록을_사용하지_말라

매일 공부(ML)·2022년 6월 1일
0

이어드림

목록 보기
63/146

for 나 while 루프 뒤에 else 블록을 사용하지 말라

  • 빈 시퀀스에 대한 루프를 실행하면 else블록이 바로 실행

for x in []:
    print('이 줄은 실행되지 않음')
else:
    print('For Else block!')

#For Else block!
  • whlie 루프의 조건이 처음부터 False인 경우에도 else 바로 실행
while False:
    print('이 줄은 실행되지 않음')
else:
    print('While Else block!')
#While Else block!

핵심

파이썬에서 루프와 같은 간단한 구성 요소는 그 자체로 의미가 명확해야 하므로 루프 뒤에 else를 사용하지 말라


이유

  • 루프 뒤에 오는 else블록은 루프가 반복되는 도중에 break를 만나지 않은 경우에만 실행되므로 "루프가 정상적으로 완료되지 않으면 이 블록을 실행하라는"뜻으로 이해하면 안된다.

    	- 실제로 루프 안에 break문을 사용하면 else블록 실행X
  • 동작이 직관적이지 않고 혼동을 야기할 수 있으므로 루프 뒤에 else블록을 사용하지 말라

profile
성장을 도울 아카이빙 블로그

0개의 댓글