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 相关文章推荐
浅谈Python 对象内存占用
Jul 15 Python
python使用opencv进行人脸识别
Apr 07 Python
Python数据分析中Groupby用法之通过字典或Series进行分组的实例
Dec 08 Python
Python3使用pandas模块读写excel操作示例
Jul 03 Python
python多个模块py文件的数据共享实例
Jan 11 Python
Python基础之条件控制操作示例【if语句】
Mar 23 Python
2019 Python最新面试题及答案16道题
Apr 11 Python
Django stark组件使用及原理详解
Aug 22 Python
解决django后台管理界面添加中文内容乱码问题
Nov 15 Python
python matplotlib模块基本图形绘制方法小结【直线,曲线,直方图,饼图等】
Apr 26 Python
Python txt文件如何转换成字典
Nov 03 Python
jupyter notebook快速入门及使用详解
Nov 13 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执行速度全攻略(下)
2006/10/09 PHP
php处理json时中文问题的解决方法
2011/04/12 PHP
PHP编程中的__clone()方法使用详解
2015/11/27 PHP
WordPress中邮件的一些修改和自定义技巧
2015/12/15 PHP
PHP连接数据库实现注册页面的增删改查操作
2016/03/27 PHP
PHP读取word文档的方法分析【基于COM组件】
2017/08/01 PHP
PHP实现redis限制单ip、单用户的访问次数功能示例
2018/06/16 PHP
javascript的原生方法获取数组中的最大(最小)值
2012/12/19 Javascript
jQuery选择器源码解读(一):Sizzle方法
2015/03/31 Javascript
jQuery获取访问者IP地址的方法(基于新浪API与QQ查询接口)
2016/05/25 Javascript
jQuery实现拖动剪裁图片作为头像
2016/12/28 Javascript
node中Express 动态设置端口的方法
2017/08/04 Javascript
如何理解Vue的作用域插槽的实现原理
2017/08/19 Javascript
JS点击动态添加标签、删除指定标签的代码
2018/04/18 Javascript
详解vue axios用post提交的数据格式
2018/08/07 Javascript
react-navigation之动态修改title的内容
2018/09/26 Javascript
vue+web端仿微信网页版聊天室功能
2019/04/30 Javascript
详细讲解如何创建, 发布自己的 Vue UI 组件库
2019/05/29 Javascript
解决vue组件props传值对象获取不到的问题
2019/06/06 Javascript
javascript使用链接跨域下载图片
2019/11/01 Javascript
原生JS实现无缝轮播图片
2020/06/24 Javascript
在Django的视图中使用数据库查询的方法
2015/07/16 Python
Sublime开发python程序的示例代码
2018/01/24 Python
python用plt画图时,cmp设置方法
2018/12/13 Python
Django给admin添加Action的步骤详解
2019/05/01 Python
python实现数据分析与建模
2019/07/11 Python
python logging设置level失败的解决方法
2020/02/19 Python
python读取多层嵌套文件夹中的文件实例
2020/02/27 Python
澳大利亚拥有最佳跳伞降落点和最好服务的跳伞项目运营商:Skydive Australia
2018/03/05 全球购物
莱德杯高尔夫欧洲官方商店:Ryder Cup Shop
2019/08/14 全球购物
公司请假条格式
2014/04/11 职场文书
药剂专业自荐信范文
2014/04/16 职场文书
法制演讲稿
2014/09/10 职场文书
个人简历求职信范文
2015/03/20 职场文书
保留意见审计报告
2015/06/05 职场文书
Anaconda安装pytorch和paddle的方法步骤
2022/04/03 Python