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

    파이썬 루프는 대부분의 다른 프로그래밍 언어가 제공하지 않는 기능을 제공한다. 파이썬에서는 루프가 반복 수행하는 내부 블록 바로 다음에 else 블록을 추가할 수 있다.

    for i in range(3):
        print('Loop', i)
    else:
        print('Else block!')
    
    >>>
    Loop 0
    Loop 1
    Loop 2
    Else block!

    놀랍게도 else 블록은 루프가 끝나자마자 실행된다. 그렇다면 왜 이 블록의 시작이 ‘and’가 아니고 ‘else’일까? if/else 문에서 else는 ‘이 블록 앞의 블록이 실행되지 않으면 이 블록을 실행하라’는 뜻이다. try/except 문에서 except도 마찬가지로 ‘이 블록 앞의 블록을 시도하다가 예외가 발생하면 이 블록을 실행하라’는 뜻이다.

    신간 소식 구독하기
    뉴스레터에 가입하시고 이메일로 신간 소식을 받아 보세요.