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能开发微信小程序么

Python迭代器和生成器区别

Python删除list中的重复元素

介绍Python的matplotlib常用绘图函数

Python中找到最大或最小的n个元素的实现代码

利用Python如何判断一个文件是否存在

人生苦短,学习Python

Python中关于复数属性以及方法运算的示例

Python 实用函数进阶(更新中)

可以搜Python题答案的app有哪些?

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




打赏

取消

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

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

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

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

评论

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