[파이썬] 제너레이터와 yield 키워드
Python의 제너레이터는 반복 가능한 객체를 만들기 위해 사용하는 특별한 함수 입니다. 제너레이터는 함수 내부에서 yield
키워드를 사용하여 값을 반환합니다.
제너레이터는 함수가 호출될 때마다 한 번씩 값을 반환하는 객체를 만들어 냅니다. 따라서 제너레이터는 함수가 종료되지 않고 계속 실행되는 것처럼 보이는 특징이 있습니다. 이러한 특징 덕분에 제너레이터는 메모리를 절약하고 반복 가능한 객체를 만들 때 사용하기 좋습니다.
제너레이터 예제
다음은 제너레이터를 사용하여 리스트를 반환하는 함수의 예제입니다.
def my_generator(n):
i = 0
while i < n:
yield i
i += 1
for i in my_generator(5):
print(i)
위의 코드는 0부터 4까지의 숫자를 출력합니다. 제너레이터는 yield
키워드를 사용하여 값을 반환합니다. 따라서 my_generator
함수가 호출될 때마다 yield
키워드가 실행되고 값이 반환됩니다.
제너레이터 사용하기
제너레이터는 반복 가능한 객체를 만들 때 사용하기 좋습니다. 예를 들어 다음과 같은 리스트를 만들 때 제너레이터를 사용할 수 있습니다.
my_list = [i for i in my_generator(10)]
위의 코드는 0부터 9까지의 숫자를 가진 리스트를 만듭니다. 이러한 방법을 사용하면 메모리를 절약하고 반복 가능한 객체를 만들 수 있습니다.
결론
Python의 제너레이터는 반복 가능한 객체를 만들기 위해 사용하는 특별한 함수 입니다. 제너레이터는 함수 내부에서 yield
키워드를 사용하여 값을 반환합니다. 제너레이터는 메모리를 절약하고 반복 가능한 객체를 만들 때 사용하기 좋습니다.