파이썬 `for x in y`가 숨기는 것: 실제로는 이렇게 동작한다

What `for x in y` hides from you – From Scratch Code

파이썬 `for x in y`가 숨기는 것: 실제로는 이렇게 동작한다

파이썬의 `for` 루프는 단순해 보이지만, 실제로는 이터레이터 프로토콜(iter, next, StopIteration)을 기반으로 동작합니다. 이 글은 Rust로 파이썬 인터프리터를 직접 구현한 저자가 `for` 루프의 내부 동작을 설명하며, 이터러블과 이터레이터의 차이, 제너레이터와의 관계, 그리고 이 지식이 왜 중요한지를 다룹니다. 루프가 컬렉션을 직접 순회하는 것이 아니라 'iter()'로 이터레이터를 얻고 'next()'를 반복 호출하며 'StopIteration' 예외로 종료한다는 점을 코드 예제와 함께 보여줍니다.

`for x in y`는 'y를 반복하라'는 뜻이 아니라 'y에게 어떻게 반복될지 물어보라'는 뜻이다.

이 날의 다른 글

2026-07-15