콘텐츠로 건너뛰기
Home » yield from

yield from

같은 것을 포함하는 순열 생성기

표준 라이브러리 itertools를 사용하면 주어진 집합의 원소로 만들 수 있는 모든 순열과 조합을 생성해 볼 수 있다. 이 모듈은 순열, 조합, 중복조합에 관한 제너레이터 함수를 제공하지만, 좀 더 개별적인 케이스에서 활용할 수 있는 함수는 제공해주지 않는 아쉬움이 있다. 예를 들면 중복 순열(사실 중복 순열은 itertools.product()를 활용해서 구할 수 있다.)이라든지, 이 글에서 설명하고자 하는 같은 것을 포함하는 순열을 만드는 경우가 이에 해당한다.

더 보기 »같은 것을 포함하는 순열 생성기

파이썬 yield from – 다른 제너레이터에게 위임하기

파이썬에서는 어떤 함수 내부에 yield 키워드가 사용됐다면, 이 함수를 무조건 제너레이터 함수로 본다. 제너레이터 함수는 제너레이터를 만드는 함수이고, 다시 제너레이터는 어떤 값을 필요한 만큼 반복적으로 만들어내는 객체이다. 제너레이터는 일반 함수와 비슷하게 생겼지만, 함수가 return 구문을 만나면 실행이 끝나버리는데 비해, 제너레이터는 yield 구문에서 값을 외부로 내보낸 후 “일시정지” 상태가 되었다가 필요할 때 다시 실행 흐름을 이어나갈 수 있다. 필요에 따라서는 일시 정지한 제너레이터를 다시 깨울 때 값을 내부로 전달할 수 있는데, 이런 특징을 활용하면 함수를 띄워놓고 필요한 시점에 반복적으로 값을 집어넣었다가… 더 보기 »파이썬 yield from – 다른 제너레이터에게 위임하기