린아저씨의 잡학사전

안녕하세요. 린아저씨 입니다.

이번에는 python 함수 중 for문과 자주 쓰는 range() 함수에 대해 알아보려 합니다.

 

range() 함수는 이름처럼 일정 범위의 정수를 순차적으로 생성해 주는 함수 입니다. 그리고 파라미터 개수에 따라 세가지 방법으로 사용 할 수 있습니다.

 

range( ) 파라미터 두개를 쓰는 경우

range() 함수에 파라미터 두개를 쓰는 경우는 range(start, stop) 의 경우 입니다. 단 주의할 점은 원하는 정수 범위를 정할 때 start 이상 stop 미만으로 생각하셔야 합니다. 즉 늘 원하는 마지막 수에 +1을 해주셔야 합니다.

# 파라미터 2개를 쓰는 경우
for i in range(0,11):
    print(i)

이런 코드를 실행하면 0, 1, 2, 3, 4, 5, ... , 10까지의 정수가 차례대로 출력되게 됩니다.

 

range( ) 파라미터 한개를 쓰는 경우

range() 함수에 파라미터 한개를 쓰는 경우는 stop만 쓰는 경우 입니다. 동일하게 원하는 마지막 숫자에 +1을 해주어 stop을 입력해주면 0 ~ (stop-1) 까지의 정수가 출력되게 됩니다.

# 파라미터 1개를 쓰는 경우
for i in range(11):
    print(i)

위의 코드를 실행하면 range(0,11) 썼을 경우와 같이 0, 1, 2, 3, ..., 10까지의 정수가 차례대로 출력됩니다.

 

range( ) 파라미터 세개를 쓰는 경우

range() 함수에 파라미터 세개를 쓰는 경우에는 원하는 간격의 정수를 순차적으로 출력할 수 있습니다. 즉 range(start, stop, gap)과 같이 사용하면 start 부터 stop-1까지 gap의 간격으로 정수가 출력됩니다.

# 파라미터 3개를 쓰는 경우
for i in range(0, 11, 2):
    print(i)

따라서 이 코드에서는 0, 2, 4, 6, 8, 10이 순차적으로 출력되게 됩니다.

 

이처럼 range를 이용하면 간편하고 깔끔하게 일정 범위의 수를 출력하거나 for문을 원하는 만큼 반복시킬 수 있습니다. 참고로 list를 생성해서 for문을 반복시키는 것 보다 메모리 효율성 측면에서도 더 좋은 방법입니다! 끝!

공유하기

facebook twitter kakaoTalk kakaostory naver band