파이썬에서 자주 활용되는 함수 중 하나인 range()
함수에 대해 알아보겠습니다. 이 함수는 주로 반복문과 함께 사용되며, 특정 범위의 숫자를 생성하는 데 유용합니다. 이번 포스트에서는 range()
함수의 다양한 사용법과 예제를 소개하고, 주의할 점도 함께 살펴보겠습니다.

range() 함수란?
range()
함수는 연속된 정수를 생성하여 반환하는 기능을 가진 내장 함수입니다. 이 함수를 통해 반복문을 작성하거나 특정 구간의 숫자를 쉽게 다룰 수 있습니다. 파이썬의 range()
함수는 다음과 같은 형태로 사용될 수 있습니다:
range(stop)
: 0부터stop - 1
까지의 숫자를 생성합니다.range(start, stop)
:start
부터stop - 1
까지의 숫자를 생성합니다.range(start, stop, step)
:start
부터stop - 1
까지step
간격으로 숫자를 생성합니다.
range() 함수 사용법
각각의 사용법에 대해 구체적인 예제를 들어 설명해보겠습니다.
1. 한 개의 인수를 사용하는 경우
range(end)
형식으로 사용하면 0부터 end - 1
까지의 숫자를 순차적으로 생성합니다. 예를 들어, range(5)
는 0, 1, 2, 3, 4의 숫자를 생성합니다. 아래 코드를 통해 확인해 보세요:
for i in range(5):
print(i)
# 결과: 0, 1, 2, 3, 4
2. 두 개의 인수를 사용하는 경우
시작점과 끝점을 지정하고자 할 때는 range(start, stop)
형식을 사용합니다. 여기서 stop
값은 포함되지 않으므로 주의해야 합니다. 예를 들면, range(3, 8)
는 3에서 7까지의 숫자를 생성합니다:
for i in range(3, 8):
print(i)
# 결과: 3, 4, 5, 6, 7
3. 세 개의 인수를 사용하는 경우
간격을 조정하고 싶다면 range(start, stop, step)
형식을 활용할 수 있습니다. 예를 들어, range(2, 12, 3)
는 2, 5, 8, 11의 숫자를 생성합니다:
for i in range(2, 12, 3):
print(i)
# 결과: 2, 5, 8, 11
range() 함수와 반복문
이 함수는 반복문과 함께 사용될 때 그 진가를 발휘합니다. 특히 for
문과 결합하여 지정한 범위의 숫자를 쉽게 반복할 수 있습니다. 예를 들어, 0부터 9까지의 숫자를 출력하는 예제는 다음과 같습니다:
for i in range(10):
print(i)
# 결과: 0부터 9까지의 숫자

리스트와 함께 사용하기
리스트의 인덱스를 반복할 때도 range()
함수가 유용합니다. 리스트의 길이를 기반으로 인덱스를 생성하고 이를 통해 각 원소에 접근할 수 있습니다:
arr = [10, 20, 30, 40, 50]
for idx in range(len(arr)):
print(f"{idx} 번째 값: {arr[idx]}")
# 결과: 각 인덱스에 대한 값 출력
범위를 역순으로 생성하기
때때로 숫자를 내림차순으로 나열해야 할 필요가 있을 때가 있습니다. 이 경우, range(start, stop, step)
에서 step
을 음수로 설정하면 됩니다:
for i in range(10, 0, -1):
print(i)
# 결과: 10, 9, 8, 7, 6, 5, 4, 3, 2, 1
또한 reversed()
함수를 활용하여 range()
로 생성한 숫자 리스트를 역순으로 변환할 수 있습니다:
for i in reversed(range(10)):
print(i)
# 결과: 9, 8, 7, 6, 5, 4, 3, 2, 1, 0
range() 함수 사용 시 주의사항
range()
함수를 사용할 때 주의해야 할 점은 종료값이 포함되지 않는다는 것입니다. 따라서 원하는 범위를 정확히 지정하기 위해서는 종료값에 1을 더해주는 것이 좋습니다:
# 잘못된 예시
print(list(range(1, 10))) # 결과: [1, 2, 3, 4, 5, 6, 7, 8, 9]
# 올바른 예시
print(list(range(1, 11))) # 결과: [1, 2, 3, 4, 5, 6, 7, 8, 9, 10]
범위와 수식 활용하기
중급 이상의 기능으로 range()
에 수식을 결합하여 더 다양한 숫자를 생성할 수 있습니다. 예를 들어, 특정 조건에 맞는 숫자를 생성하는 방법은 다음과 같습니다:
even_numbers = list(range(2, 21, 2)) # 결과: 짝수 리스트
print(even_numbers)
# 결과: [2, 4, 6, 8, 10, 12, 14, 16, 18, 20]

마무리
파이썬의 range()
함수는 반복문과 함께 사용하여 숫자 범위를 간편하게 생성할 수 있는 매우 유용한 도구입니다. 다양한 인자를 활용하는 방식을 배우고 활용한다면 프로그래밍의 효율을 향상시킬 수 있습니다.
이와 같은 기본적인 사용법을 숙지해 두고, 필요에 따라 응용해보시면 더욱 유익한 프로그래밍 경험을 할 수 있을 것입니다.
자주 묻는 질문 FAQ
파이썬의 range() 함수는 무엇인가요?
range() 함수는 연속된 정수들을 생성하는 파이썬의 내장 함수입니다. 이 기능은 반복문을 통해 특정 범위의 숫자를 쉽게 활용할 수 있도록 돕습니다.
range() 함수는 어떻게 사용하나요?
이 함수는 다양한 형식으로 사용될 수 있으며, 기본적으로 시작점과 종료점을 설정하여 지정한 범위의 숫자를 생성합니다. 인자의 개수에 따라 단일 인수, 두 개 또는 세 개의 인수를 받아 사용합니다.
range() 함수는 반복문에서 어떤 역할을 하나요?
이 함수는 주로 for 반복문과 함께 사용되어, 정해진 범위의 숫자를 순차적으로 반복해서 처리할 수 있게 해줍니다. 이를 통해 코드의 가독성을 높이고 효율적으로 반복 작업을 수행할 수 있습니다.
range() 함수를 사용할 때 주의해야 할 점은 무엇인가요?
이 함수를 사용할 때 잘 기억해야 할 것은 종료값이 포함되지 않는다는 점입니다. 원하는 범위의 숫자를 포함하려면 종료값에 1을 더해야 정확한 범위가 생성됩니다.
range() 함수로 역순으로 숫자를 생성할 수 있나요?
네, range() 함수에서 step 인수를 음수로 설정하면 내림차순으로 숫자를 생성할 수 있습니다. 또한 reversed() 함수를 사용하여 생성된 숫자 리스트를 역순으로 바꿀 수도 있습니다.