Python 은 교체 기 를 사용 하여 Generator 의 반환 값 을 캡 처 하 는 방법

이 사례 는 Python 이 교체 기 를 사용 하여 Generator 의 반환 값 을 캡 처 하 는 방법 을 설명 한다.여러분 께 참고 하도록 공유 하 겠 습 니 다.구체 적 으로 는 다음 과 같 습 니 다.
for 순환 으로 generator 를 호출 할 때 generator 의 return 문장의 반환 값 을 가 져 올 수 없습니다.반환 값 을 가 져 오 려 면 StopIteration 오 류 를 포착 해 야 합 니 다.반환 값 은 StopIteration 의 value 에 포함 되 어 있 습 니 다.

#!/usr/bin/env python
# -*- coding: utf-8 -*-
def fib(max):
  n, a, b = 0, 0, 1
  while n < max:
    yield b
    a, b = b, a + b
    n = n + 1
  return 'done'
#   Generator    
g = fib(6)
while True:
  try:
    x=next(g)
    print('g=',x)
  except StopIteration as e:
    print('Generrator return value:', e.value)
    break

출력:

g= 1
g= 1
g= 2
g= 3
g= 5
g= 8
Generrator return value: done

더 많은 파 이 썬 관련 내용 에 관심 이 있 는 독자 들 은 본 사이트 의 주 제 를 볼 수 있다.
본 논문 에서 말 한 것 이 여러분 의 Python 프로 그래 밍 에 도움 이 되 기 를 바 랍 니 다.

좋은 웹페이지 즐겨찾기