Original article: Python For Loop - For i in Range Example

반복문은 모든 프로그래밍 언어에서 주요 제어문 중 하나이며 Python에서도 마찬가지입니다.

이번 글에서는 Python의 range() 함수와 함께 for 반복문을 사용한 몇 가지 예제를 살펴보겠습니다.

Python에서의 For 반복문

for 반복문은 특정 값들의 집합에 대해 코드의 일부분을 반복합니다.

Python 공식 문서에서 상술하듯이 Python의 for 반복문은 JavaScript나 C 언어 같은 프로그래밍 언어의 반복문과는 조금 다르게 동작합니다.

for 반복문은 제공된 리스트, 배열 또는 문자열 안에 있는 각각의 값들에 반복문 변수를 생성합니다. 그리고 반복문의 각 변수 값에 대하여 for 문 안의 코드를 실행합니다.

아래의 예제에서 배열 안에 있는 모든 숫자를 출력하는 for 반복문을 사용해봅시다.

# 반복문 예제
for i in [1, 2, 3, 4]:
    print(i, end=", ") # 출력: 1, 2, 3, 4,

또한 for 반복문 내용 안에 좀 더 복잡한 로직을 포함시킬 수 있습니다. 다음 예제에서는 반복문 변수를 사용해서 간단한 계산 결과를 출력합니다.

# 좀 더 복잡한 예제
for i in [1, 3, 5, 7, 9]:
    x = i**2 - (i-1)*(i+1)
    print(x, end=", ") # 출력 1, 1, 1, 1, 1, 

for 반복문에 쓰인 배열의 값들이 순차적이라면, 배열의 내용을 작성하는 대신 Python의 range() 함수를 사용할 수 있습니다.

Python에서의 Range 함수

range() 함수는 함수의 전달인자에 기반하여 정수 순열을 제공합니다. range() 함수에 대한 추가적인 정보는 Python 공식 문서를 참고하세요.

range(stop)
range(start, stop[, step])

start 전달인자는 특정 범위에서 첫 번째 값을 뜻합니다. 만약 range() 함수가 전달인자 하나만으로 호출된다면, Python에서는 start = 0으로 간주합니다.

stop 전달인자는 특정 범위를 초과하는 최대 한계치입니다. 특정 범위 안에는 최대 한계치 값이 포함되지 않도록 구현하는 것이 중요합니다.

아래의 예제에서는 기본값인 0으로 시작해서 5보다 작은 정수들이 포함되는 범위를 확인할 수 있습니다.

# 전달인자가 1개인 예제
for i in range(5):
    print(i, end=", ") # 출력: 0, 1, 2, 3, 4, 

다음 예제에서는 start = -1로 시작값을 정하고 마찬가지로 5보다 작은 정수들이 포함되도록 해보겠습니다.

# 전달인자가 2개인 예제
for i in range(-1, 5):
    print(i, end=", ") # 출력: -1, 0, 1, 2, 3, 4, 

선택적인 값인 step은 특정 범위 안에 있는 값들의 증가값을 제어할 수 있습니다. 기본값으로 step = 1입니다.

마지막 예제에서는 -1부터 5까지의 정수 범위를 사용하고 step = 2로 설정해보겠습니다.

# 전달인자가 3개인 예제
for i in range(-1, 5, 2):
    print(i, end=", ") # 출력: -1, 1, 3, 

요약

이번 글에서는 Python에서의 for 반복문과 range() 함수에 대해 살펴보았습니다.

for 반복문은 리스트, 배열, 문자열 또는 range() 안에 있는 모든 값들에 대한 코드 블록을 반복합니다.

for 반복문 작성을 간소화하기 위해 range()를 사용할 수 있습니다. range()stop은 구체적으로 명시되어야 하지만 startrange()에 속한 정수 사이의 step은 수정될 수 있습니다.