PYTHON
[python3] 8. Generator(제너레이터)
힙꾸
2021. 3. 8. 18:04
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
반응형