Python使用迭代器捕获Generator返回值的方法


本文摘自php中文网,作者不言,侵删。

这篇文章主要介绍了Python使用迭代器捕获Generator返回值的方法,结合具体实例形式分析了Python迭代器获取生成器返回值的相关操作技巧,需要的朋友可以参考下

本文实例讲述了Python使用迭代器捕获Generator返回值的方法。分享给大家供大家参考,具体如下:

用for循环调用generator时,发现拿不到generator的return语句的返回值。如果想要拿到返回值,必须捕获StopIteration错误,返回值包含在StopIteration的value中:

1

2

3

4

5

6

7

8

9

10

11

12

13

14

15

16

17

18

#!/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

阅读剩余部分

相关阅读 >>

Python怎么安装词云wordcloud

Python怎么输出单词的字母

Python中replace的用法是什么?

Python怎么调用图像处理

了解为什么说 Python 内置函数并不是万能的?

Python具体做些什么

Python时间戳是什么

什么是Python number(数字)?Python数字类型有哪些?

Python的浮点数占多少个字节

Python中降序用哪个单词

更多相关阅读请进入《Python》频道 >>




打赏

取消

感谢您的支持,我会继续努力的!

扫码支持
扫码打赏,您说多少就多少

打开支付宝扫一扫,即可进行扫码打赏哦

分享从这里开始,精彩与您同在

评论

管理员已关闭评论功能...