728x90
반응형
1. generator 생성 및 사용
1) 생성
def get_num():
n = 0
while True:
n += 1
yield n
print(get_num())
>>> <generator object get_num at 0x0000022960C3A648>
2) 사용
g = get_num()
next(g)
next(g)
next(g)
>>> 1
>>> 2
>>> 3
2. 대표적 함수
- range()
2. Generator vs Array
- 제너레이터 : 한 번 사용할 수 있는 루프(Object). 사용할 때 생성
- Array : 메모리에 생성해두고 사용
# Array
# 이미 생성된 값이 들어가 있음.
arr = [n for n in range(1000)]
# Generator
# 생성해야 함. (생성은 next())
gner = range(1000)
# 길이 비교 (길이 같음)
print(len(arr))
>>> 1000
print(len(gner))
>>> 1000
# 메모리 비교 (메모리 크기 제너레이터가 훨씬 작음)
import sys
sys.getsizeof(arr)
>>> 9024
sys.getsizeof(gner)
>>> 48
728x90
반응형
'PYTHON' 카테고리의 다른 글
[python3 | 알고리즘] 11. 문자열 조작(팰린드롬) (0) | 2021.03.08 |
---|---|
[python3] 10. 빅오 표기법(big-O) (0) | 2021.03.08 |
[python3] 7. 동적 배열, 딕셔너리 (0) | 2021.03.08 |
[python3] 6. 파이썬 표준 타입 구조 (2) | 2021.03.08 |
[python3] 4. 리스트 컴프리헨션 (0) | 2021.03.08 |