오늘 중첩 된 생성기 함수로 놀았으며 재미있는 속성/동작을 발견했습니다.중첩 된 생성기 개체 컨텍스트
어쩌면 이것은 yield from
의 이해 부족과 관련이 있습니다. 그러나 이제 문제가 발생했습니다 :
def foo():
for iter in range(10):
yield iter
generator = foo()
def bar():
yield from generator
print(next(bar()), end=' ')
print(next(bar()), end=' ')
...
따라서 예외는 0 1 ...
이됩니다.
그러나 next
에 대한 첫 번째 성공적인 호출 후에, 내가 얻을 : 역 추적 (마지막으로 가장 최근 통화) : 파일 "", 줄 1 StopIteration을에
그래서 제 질문은 다음과 같습니다 발전기를 가지고 왜 이미 끝났어?