Python에서 일정한 규칙의 요소를 참조하기 위해 range()를 사용하는 경우가 자주 있다. >>> for i in range(5): ... print(i) ... 0 1 2 3 4 이는 다음과 같은 코드와 동일한 결과를 가진다. 그렇다면 range(5)는 [0, 1, 2, 3, 4]와 동일하다고 할 수 있을까? >>> for i in [0, 1, 2, 3, 4]: ... print(i) ... 0 1 2 3 4 결론부터 말하면 그렇지 않다. range(start, stop, step) 함수는 단순히 start부터 step씩 증가하며 stop 전까지의 값을 반환하는 함수가 아니고 파이썬에서 정의되어 있는 클래스의 생성자다. 이 생성자 함수는 불변 순서 타입(immutable sequence type)..