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 23 Python
Python判断变量是否已经定义的方法
Aug 18 Python
Python 正则表达式入门(初级篇)
Dec 07 Python
Python实现的端口扫描功能示例
Apr 08 Python
python3基于TCP实现CS架构文件传输
Jul 28 Python
Python中的异常处理try/except/finally/raise用法分析
Feb 28 Python
Python列表对象实现原理详解
Jul 01 Python
python elasticsearch从创建索引到写入数据的全过程
Aug 04 Python
pytorch 共享参数的示例
Aug 17 Python
tensorflow 获取checkpoint中的变量列表实例
Feb 11 Python
pytorch掉坑记录:model.eval的作用说明
Jun 23 Python
python openCV自制绘画板
Oct 27 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
多重?l件?合查?(一)
2006/10/09 PHP
php array_flip() 删除数组重复元素
2009/01/14 PHP
php+js实现图片的上传、裁剪、预览、提交示例
2013/08/27 PHP
php中限制ip段访问、禁止ip提交表单的代码分享
2014/08/22 PHP
Yii实现多按钮保存与提交的方法
2014/12/03 PHP
php实现搜索类封装示例
2016/03/31 PHP
Windows 下安装 swoole 图文教程(php)
2017/06/05 PHP
基于Jquery的开发个代阴影的对话框效果代码
2011/07/28 Javascript
基于jquery DOM写的类似微博发布的效果
2012/10/20 Javascript
js解决select下拉选不中问题
2014/10/14 Javascript
jQuery简单实现遍历数组的方法
2015/04/14 Javascript
基于JavaScript实现移动端TAB触屏切换效果
2015/10/20 Javascript
浅谈JavaScript 中有关时间对象的方法
2016/08/15 Javascript
关于Javascript回调函数的一个妙用
2016/08/29 Javascript
AngularJS 的$timeout服务示例代码
2017/09/21 Javascript
微信小程序CSS3动画下拉菜单效果
2018/11/04 Javascript
js实现图片跟随鼠标移动效果
2019/10/16 Javascript
nodejs对mongodb数据库的增加修删该查实例代码
2020/01/05 NodeJs
react使用CSS实现react动画功能示例
2020/05/18 Javascript
[03:02]安得倚天剑,跨海斩长鲸——中国军团出征DOTA2国际邀请赛
2018/08/14 DOTA
基于python实现的抓取腾讯视频所有电影的爬虫
2016/04/22 Python
PyQt 线程类 QThread使用详解
2017/07/16 Python
python实现在pandas.DataFrame添加一行
2018/04/04 Python
Tensorflow实现卷积神经网络的详细代码
2018/05/24 Python
详解python中list的使用
2019/03/15 Python
Pytorch实现的手写数字mnist识别功能完整示例
2019/12/13 Python
Ubuntu16.04安装python3.6.5步骤详解
2020/01/10 Python
微软开源最强Python自动化神器Playwright(不用写一行代码)
2021/01/05 Python
Crocs美国官方网站:卡骆驰洞洞鞋
2017/08/04 全球购物
行政主管岗位职责
2013/11/18 职场文书
一句话工作感言
2014/03/01 职场文书
民主评议政风行风整改方案
2014/09/17 职场文书
2015年财务人员个人工作总结
2015/07/27 职场文书
2019教师的学习计划
2019/06/25 职场文书
Windows11里微软已经将驱动程序安装位置A盘删除
2021/11/21 数码科技
vue 数字翻牌器动态加载数据
2022/04/20 Vue.js