SW/Python

python : range() 함수 사용 방법, 예제, 명령어

얇은생각 2022. 7. 17. 07:30
반응형

Python 범위 유형은 범위의 시작점과 끝점을 정의하여 일련의 정수를 생성합니다. 일반적으로 for 루프와 함께 일련의 숫자에 대해 반복하는 데 사용됩니다.

range()는 Python 2와 3에서 다르게 작동합니다.

Python 2에서는 일련의 정수를 생성할 수 있는 두 가지 함수인 범위와 xrange가 있습니다. 이러한 함수는 매우 유사하며, 주된 차이점은 범위는 목록을 반환하고 xrange는 xrange 개체를 반환한다는 것입니다.

파이썬 3에서 xrange 함수가 삭제되었으며 범위 함수는 파이썬 2 xrange와 유사하게 동작합니다. 파이썬 3 범위는 함수가 아니라 불변의 수열을 나타내는 유형입니다.

이 글에서는 Python 3 레인지 타입의 기본에 대해 알아보겠습니다.

 

 

python : range() 함수 사용 방법, 예제, 명령어

 

 

Python range() 구문

범위 생성자의 형식은 다음과 같습니다.

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

 

 

범위 생성자에 제공된 인수는 정수여야 합니다. 부동 숫자 및 기타 형식은 허용되지 않습니다.

range는 필수 인수 하나와 선택적 인수 두 개를 사용합니다. 지정된 범위를 나타내는 범위 개체를 반환하고 요청 시 숫자를 생성합니다.

 

 

 

Python range(stop)

인수가 하나만 지정되면 범위는 0에서 중지 - 1까지 1씩 증가하는 일련의 숫자를 반환합니다.

작동 범위 유형은 다음과 같습니다.

for i in range(5):
    print(i)
    
# 0
# 1
# 2
# 3
# 4

 

 

생성된 숫자 시퀀스는 0에서 시작하여 4(5-1)로 끝납니다.

인수가 0이거나 음의 정수 범위가 빈 시퀀스를 반환하면 다음과 같습니다.

print(list(range(-5)))


[]

 

 

범위가 정수 시퀀스를 느리게 평가하기 때문에 범위 개체를 목록으로 변환합니다. 출력은 빈 목록입니다.

 

 

 

Python range(시작, 중지)

두 개의 인수가 제공되면 범위는 시작부터 중지까지 1씩 증가하는 일련의 숫자를 반환합니다.

for i in range(3, 5):
    print(i)

# 3
# 4

 

 

중지 인수는 시작 인수보다 커야 합니다. 그렇지 않으면 시퀀스가 비어 있습니다.

print(list(range(5, 3)))

# []

 

 

0, 양수 및 음수 정수를 인수로 사용할 수 있습니다.

print(list(range(-5, -3)))

# [-5, -4]

 

 

print(list(range(-3, 0)))

# [-3, -2, -1]

 

 

 

Python 범위(시작, 중지, 단계)

세 개의 인수가 주어지면 범위는 시작부터 중지까지 단계별로 증가하거나 감소하는 일련의 숫자 - 1을 반환합니다.

스텝이 양수이면 범위는 다음과 같이 증가하는 시퀀스를 반환합니다.

for i in range(0, 26, 5):
    print(i)

# 0
# 5
# 10
# 15
# 20
# 25

 

 

증분할 때 중지 인수는 시작 인수보다 커야 합니다. 그렇지 않으면 시퀀스가 비어 있습니다.

스텝이 음수이면 범위는 감소되는 시퀀스를 반환합니다.

for i in range(20, 4, -5):
    print(i)

# 20
# 15
# 10
# 5

 

 

줄일 때 중지 인수는 시작보다 작아야 합니다. 그렇지 않으면 시퀀스가 비어 있습니다. 

단계가 0이면 ValueError 예외가 발생합니다.

Traceback (most recent call last):
  File "<stdin>", line 1, in <module>
ValueError: range() arg 3 must not be zero

 

 

Python 범위 유형을 사용하면 일련의 정수를 생성할 수 있습니다. 그것은 주로 루프에 사용됩니다.

 

 

 

참조

https://linuxize.com/post/python-range/

반응형