16.2 반복문에서 변수의 변화 알아보기
앞에서 단순히 'Hello, world!' 문자열만 여러 번 출력했는데 이번에는 range에서 꺼낸 숫자를 눈으로 확인해보겠습니다.
>>> for i in range(100): ... print('Hello, world!', i) ... Hello, world! 0 Hello, world! 1 Hello, world! 2 ... (생략) Hello, world! 98 Hello, world! 99
'Hello, world!'에 0부터 99까지 출력되었죠? 즉, range에서 꺼낸 숫자는 변수 i에 저장되며 반복할 코드에서 사용할 수 있습니다.
참고 | 반복문의
변수 i
변수 i를 루프 인덱스라고도 부르며 index의 첫 머리글자를 따서 i를 주로 사용합니다
참고 | range와 객체
파이썬 2.7과 파이썬 3에서 range는 결과가 조금 다릅니다. 파이썬 2.7에서는 range를 사용하면 실제로 연속된 숫자가 들어있는 리스트를 만들어내지만 파이썬 3에서는 range 객체(반복 가능 객체)를 만들어냅니다.
파이썬 2.7
>>> range(10) [0, 1, 2, 3, 4, 5, 6, 7, 8, 9]
파이썬 3
>>> range(10) range(0, 10)
파이썬 2.7의 range는 리스트를 만들어내므로 아주 큰 숫자를 지정하면 메모리를 많이 사용하게 됩니다. 따라서 파이썬 2.7에서는 리스트 대신 객체를 생성할 때는 xrange를 사용합니다. 특히 파이썬 3에서는 기본적으로 range가 객체를 생성하는 방식으로 바뀌었습니다.