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


Posted in Python onApril 05, 2017

本文实例讲述了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程序设计有所帮助。

Python 相关文章推荐
Python3 正在毁灭 Python的原因分析
Nov 28 Python
python使用BeautifulSoup分页网页中超链接的方法
Apr 04 Python
Django中的“惰性翻译”方法的相关使用
Jul 27 Python
numpy中的高维数组转置实例
Apr 17 Python
使用python中的in ,not in来检查元素是不是在列表中的方法
Jul 06 Python
python之Flask实现简单登录功能的示例代码
Dec 24 Python
解决nohup执行python程序log文件写入不及时的问题
Jan 14 Python
python scipy卷积运算的实现方法
Sep 16 Python
python 将dicom图片转换成jpg图片的实例
Jan 13 Python
Python识别html主要文本框过程解析
Feb 18 Python
如何基于Python按行合并两个txt
Nov 03 Python
Python字符串常规操作小结
Apr 03 Python
由浅入深讲解python中的yield与generator
Apr 05 #Python
Python中shutil模块的学习笔记教程
Apr 04 #Python
python 遍历字符串(含汉字)实例详解
Apr 04 #Python
python模拟登录并且保持cookie的方法详解
Apr 04 #Python
python 容器总结整理
Apr 04 #Python
详解Python中最难理解的点-装饰器
Apr 03 #Python
JSON Web Tokens的实现原理
Apr 02 #Python
You might like
php中switch语句用法详解
2015/08/17 PHP
PHP封装的page分页类定义与用法完整示例
2018/12/24 PHP
PHP 实现链式操作
2021/03/09 PHP
js常用函数 不错
2006/09/08 Javascript
javascript学习笔记(十三) js闭包介绍(转)
2012/06/20 Javascript
js限制文本框输入长度两种限制方式(长度、字节数)
2012/12/19 Javascript
js获取控件位置以及不同浏览器中的差别介绍
2013/08/08 Javascript
javaScript面向对象继承方法经典实现
2013/08/20 Javascript
JavaScript中number转换成string介绍
2014/12/31 Javascript
JS使用cookie实现DIV提示框只显示一次的方法
2015/11/05 Javascript
js实现字符串和数组之间相互转换操作
2016/01/12 Javascript
Jquery轮播效果实现过程解析
2016/03/30 Javascript
JavaScript编写九九乘法表(两种任选)
2017/02/04 Javascript
webpack中CommonsChunkPlugin详细教程(小结)
2017/11/09 Javascript
原生JS实现循环Nodelist Dom列表的4种方式示例
2018/02/11 Javascript
layui 选择列表,打勾,点击确定返回数据的例子
2019/09/02 Javascript
LayUI数据接口返回实体封装的例子
2019/09/12 Javascript
JS图片懒加载技术实现过程解析
2020/07/27 Javascript
[39:52]2018DOTA2亚洲邀请赛 4.3 突围赛 EG vs Newbee 第一场
2018/04/04 DOTA
python使用xlrd和xlwt读写Excel文件的实例代码
2018/09/05 Python
python 实现将小图片放到另一个较大的白色或黑色背景图片中
2019/12/12 Python
Pycharm中安装Pygal并使用Pygal模拟掷骰子(推荐)
2020/04/08 Python
canvas 绘图时位置偏离的问题解决
2020/09/16 HTML / CSS
介绍一下HDLC(High-Level Data Link Control)高层数据链路协议
2012/01/21 面试题
什么是ARP(Address Resolution Protocol)地址解析协议
2013/10/31 面试题
绩效工资实施方案
2014/03/15 职场文书
家长学校工作方案
2014/05/07 职场文书
企业宣传标语
2014/06/09 职场文书
办公室文员工作自我鉴定
2014/09/19 职场文书
个人债务授权委托书范本
2014/10/05 职场文书
行政文员岗位职责
2015/02/04 职场文书
幼儿园庆六一主持词
2015/06/30 职场文书
Python控制台输出俄罗斯方块移动和旋转功能
2021/04/18 Python
晶体管单管来复再生式收音机
2021/04/22 无线电
mybatis源码解读之executor包语句处理功能
2022/02/15 Java/Android
关于k8s环境部署mysql主从的问题
2022/03/13 MySQL