인터뷰나 궁금할만한 것을 모아두는 장소
제너레이터는 제너레이터 함수가 호출 될 때 반환하는 이터레이터의 일종이다.
제널이터 함수는 일반적인 함수와 비슷하게 생겼지만 yield
문을 사용해서 데이터가 원하는 시점에서 반환하고 처리하여 다시 시작할 수 있다. 일반적인 함수는 진입점이 하나라면 제너레이터는 진입접이 여러개라 생각할 수 있다. 이러한 특성 떄문에 제너레이터를 사용하면 원하는 시점에 원하는 데이터를 받을 수 있게 된다.
def generator():
yield 1
yield 'string'
yield True
>>> gen = generator()
>>> gen
<generator object generator at 0x10a47c678>
>>> next(gen)
1
>>> next(gen)
'string'
>>> next(gen)
True
>>> next(gen)
Traceback (most recent call last):
File "<stdin>", line 1, in <module>
StopIteration