>  기사  >  백엔드 개발  >  Python은 반복자를 사용하여 생성기의 반환 값을 캡처합니다.

Python은 반복자를 사용하여 생성기의 반환 값을 캡처합니다.

不言
不言원래의
2018-06-02 15:42:341450검색

이 글에서는 반복자를 사용하여 생성기의 반환 값을 캡처하는 Python의 방법을 주로 소개합니다. Python 반복기의 관련 작동 기술을 분석하여 특정 예제를 기반으로 생성기의 반환 값을 참고할 수 있습니다.

이 문서의 예제에서는 Python 반복기를 사용하여 생성기의 반환 값을 캡처하는 방법을 설명합니다. 참고할 수 있도록 모든 사람과 공유하세요. 세부 사항은 다음과 같습니다.

for 루프를 사용하여 생성기를 호출할 때 생성기의 return 문의 반환 값을 가져올 수 없다는 것을 발견했습니다. 반환 값을 얻으려면 StopIteration 오류를 캡처해야 합니다. 반환 값은 StopIteration 값에 포함됩니다.

#!/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 &#39;done&#39;
# 捕获Generator的返回值
g = fib(6)
while True:
  try:
    x=next(g)
    print(&#39;g=&#39;,x)
  except StopIteration as e:
    print(&#39;Generrator return value:&#39;, e.value)
    break

출력:

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

위 내용은 Python은 반복자를 사용하여 생성기의 반환 값을 캡처합니다.의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!

성명:
본 글의 내용은 네티즌들의 자발적인 기여로 작성되었으며, 저작권은 원저작자에게 있습니다. 본 사이트는 이에 상응하는 법적 책임을 지지 않습니다. 표절이나 침해가 의심되는 콘텐츠를 발견한 경우 admin@php.cn으로 문의하세요.