range(3) 실행은 4 반복 가능 여부를 핵심적으로 판단하는 단계로 시작된다. 반복문은 조건이 참일 때만 진행되며, False이면 종료된다. 같은 맥락에서 while은 조건 결과를 확인한 뒤 True일 때만 내부 코드를 수행하고 False일 때 종료한다. 반면 for는 iterable을 iterator로 바꾼 뒤 첫 값을 꺼낼 수 있으면 진행하고, 불가능하면 종료한다. 초기 상태를 어떻게 세팅하느냐에 따라 첫 진입이 가능해질 수도, 불가능할 수도 있다.
핵심 포인트는 반복문 진입의 “가능 여부 확인”이다. 가장 먼저 확인하는 것은 이 객체를 반복할 수 있는가이다. 이 단계에서는 값의 꺼내기나 실행은 전혀 이루어지지 않는다. iter(obj) 호출이 성공해 iterator가 반환되어야만 다음 단계로 넘어간다. obj가 __iter__를 제공하지 않거나 __getitem__로 시도해도 실패하면 TypeError가 발생한다. 단, 이 단계에서의 목표는 반복 가능 여부의 확인일 뿐이며 실행이나 값 처리 없이 시작 자격만 검토된다.
종료 또는 실행 분기에서는 계속할지, 건너뛸지, 끝낼지, 에러로 탈출할지가 결정된다. 실행 분기는 조건이나 값이 유효하면 본문이 실행되고 다시 조건 검사로 돌아간다. 건너뛰기 분기인 continue는 현재 반복만 건너뛰며 이후 코드는 실행하지 않는다. 종료 분기는 정상 종료(while의 조건이 False, for의 iterable 소진, else 블록 존재 시 실행 후 아래로 이동) 또는 break/return으로 즉시 탈출한다. 예외 상황은 에러로 처리되며 try/except가 있으면 해당 블록으로 이동하고 없으면 프로그램이 종료된다. 최종 구조는 실행 후 계속 여부에 따라 continue와 종료의 경로가 갈라진다.
반복 실행은 조건이 충족되면 본문 블록으로 진입하여 1회가 시작된다. for문의 경우 값의 바인딩과 언패킹이 이미 완료된 상태에서 첫 줄이 실행되기 시작한다. 포함되는 요소는 정확히 6개로 요약되며, 본문 진입 후 사이클이 시작되고, 이번 반복이 시작된 시점을 정확히 파악할 수 있다. 정리한 내용은 아래 링크에 모아두었으니 필요 시 확인하면 된다.
#
break
#
파이썬else
#
파이썬for문
#
파이썬while문
#
파이썬강의
#
파이썬공부
#
파이썬기초
#
파이썬반복문
#
파이썬실행흐름
#
파이썬
#
코딩독학
#
continue
#
Python
#
pythonforloop
#
pythonloop
#
pythonwhile
#
개발공부
#
반복문
#
반복문동작원리
#
프로그래밍기초