일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
1 | 2 | 3 | 4 | 5 | ||
6 | 7 | 8 | 9 | 10 | 11 | 12 |
13 | 14 | 15 | 16 | 17 | 18 | 19 |
20 | 21 | 22 | 23 | 24 | 25 | 26 |
27 | 28 | 29 | 30 |
- mariaDB
- Amazon VPC
- Kubernetis
- Cognito
- AWS
- AWS EC2
- ReplicaSet
- staticmethod
- AWS Security Hub
- Terraform
- SSL 인증서
- DaemonSet
- classmethod
- Amazon GuardDuty
- taint
- Amazon RDS
- Amazon Route 53
- Amazon DynamoDB
- CI CD
- Backend
- k8s
- Industry Week 2023
- Python
- deployment
- Heartbleed
- DevOps
- Terraform state
- docker
- ConfigMap
- ansible
- Today
- Total
Nubes et Stella
[Python] range()와 xrange()의 차이 본문
01. range()와 xrange()
range와 xrange함수 둘 다 모두 특정범위의 숫자를 return해주는 함수이다. xrange함수는 Python 2.X에서만 사용가능하며 Python 3.X에서는 xrange 함수의 특징이 range 함수에 포함되어 있다.
02. range()
range() 함수는 일련의 정수값을 return해주는 함수이며, 주로 for문에서 많이 사용된다. 함수의 기본적인 형태는 아래와 같다.
range(start, stop, step)
- start : 정수의 시작 값 (Default = 0)
- stop : 정수의 마지막 값
- step : 각 정수사이의 간격 값 (Default = 1)
매개변수 start와 stop은 디폴트 값이 존재하기 때문에, 3개의 매개변수를 반드시 채워야 하는 것은 아니다.
- 사용 예시
1. range(stop) 형태
for x in range(5):
print(x)
출력:
0
1
2
3
4
2. range(start, stop) 형태
for x in range(5, 10):
print(x)
출력 :
5
6
7
8
9
3. range(start, stop, step) 형태
3.1 step 이 음수일 경우
for x in range(5, 1, -1):
print(x)
출력 :
5
4
3
2
3.2 step 이 양수일 경우
for x in range(1, 5, 2):
print(x)
출력 :
1
3
03. xrange()
xrange()함수는 range()함수와 기본적인 사용법이나 출력은 동일하다. range()함수와 가장 큰 차이점은 메모리 관리에서 난다.
그 이유는 range()함수는 결과값을 list형태로 return하게 되는데, list 타입은 그 안에 포함되어 있는 모든 데이터를 한꺼번에 메모리에 적재하게 된다. 이와 다르게 xrange()함수의 경우 필요한 순간 필요한 숫자만 생성함으로써 resource 낭비를 줄일 수 있다.
물론 Python 3.X를 쓰게되면 xragne()함수가 삭제되기 때문에 크게 상관없을 것 같다.
#Python 3.X
for i in xrange(1, 5): # 1부터 4까지 숫자 생성
print(i)
==============================================
NameError: name 'xrange' is not defined
'Programming > Python' 카테고리의 다른 글
[Python] @classmethod와 @staticmethod (0) | 2023.09.21 |
---|---|
[Python] 클래스 생성자(__init__) (0) | 2023.09.04 |