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中的xlsxwriter库简单分析

详解Python 2.6 升级至 Python 2.7 的实践心得

Python的五个特点

Python代码画出爱心曲线

基于rabbitmq rpc实现的主机管理

如何来理解Python中的进程和线程?

Python运算符-编程中最常用的比较运算符(实例解析)

Python除法运算符有哪些

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




打赏

取消

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

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

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

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

评论

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