Python 의 range 함수에대해 살펴보겠습니다.
제목처럼 range 함수는 연속된 정수를 만들어주는 함수입니다.
range 함수는 매개변수의 갯수에따라 사용법을 나눌수 있습니다.
1. range(stop) - 선언 및 매개변수가 하나일때
매개변수가 하나일때 해당 매개변수는 마지막 숫자를 의미합니다.
0부터 마지막숫자 전까지 정수들을 얻을 수 있습니다.
>>> ran = range(10)
>>> ran
range(0, 10)
>>> type(ran)
<class 'range'>
여기서 주의할점은 0부터 10까지의 숫자가 출력되는게 아니라 range(0,10) 이라는
range 타입으로 출력된다는 것이다.
그래서 우리는 주로 range 자료형으로 생성된 숫자범위를 List로 바꿔 사용하거나 for문을 이용해 사용합니다.
>>> range(3)
range(0, 3)
>>> list(range(3))
[0, 1, 2]
>>> for num in range(3):
print(num)
0
1
2
2. range(start, stop) - 매개변수가 두개일때
매개변수가 2개인경우 첫번째 매개변수가 시작하는 숫자, 두번째 매개변수가 마지막 숫자가됩니다.
시작숫자는 당연히 마지막숫자보다 작아야 합니다.
>>> list(range(1, 5))
[1, 2, 3, 4]
>>> list(range(-3, 2))
[-3, -2, -1, 0, 1]
>>> list(range(5, 1))
[]
3. range(start, stop, step) - 매개변수가 세개일때
매개변수가 3개일때는 첫번째 매개변수는 시작숫자, 두번째는 마지막숫자, 세번째는 숫자사이의 간격을 나타냅니다.
숫자사이의 간격으로 음수도 지정할 수 있습니다. 이때는 시작숫자가 반드시 마지막숫자보다 커야되겠죠??
>>> list(range(0, 10, 3))
[0, 3, 6, 9]
>>> list(range(10, 0, -3))
[10, 7, 4, 1]
>>> list(range(5, 0, -1))
[5, 4, 3, 2, 1]