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 相关文章推荐
利用Python2下载单张图片与爬取网页图片实例代码
Dec 25 Python
Python变量赋值的秘密分享
Apr 03 Python
简单谈谈Python的pycurl模块
Apr 07 Python
Python绘制3D图形
May 03 Python
Python把对应格式的csv文件转换成字典类型存储脚本的方法
Feb 12 Python
基于python实现的百度新歌榜、热歌榜下载器(附代码)
Aug 05 Python
Python下利用BeautifulSoup解析HTML的实现
Jan 17 Python
python GUI库图形界面开发之PyQt5选项卡控件QTabWidget详细使用方法与实例
Mar 01 Python
PyCharm最新激活码(2020/10/27全网最新)
Oct 27 Python
TensorFlow低版本代码自动升级为1.0版本
Feb 20 Python
总结Python常用的魔法方法
May 25 Python
Python使用永中文档转换服务
May 06 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 图片上添加透明度渐变的效果
2009/06/29 PHP
php数组函数序列之asort() - 对数组的元素值进行升序排序,保持索引关系
2011/11/02 PHP
php中实现记住密码下次自动登录的例子
2014/11/06 PHP
php格式化日期实例分析
2014/11/12 PHP
php返回当前日期或者指定日期是周几
2015/05/21 PHP
理解php依赖注入和控制反转
2016/05/11 PHP
PHP实现的随机红包算法示例
2017/08/14 PHP
ThinkPHP类似AOP思想的参数验证的实现方法
2019/12/18 PHP
Convert Seconds To Hours
2007/06/16 Javascript
Raphael带文本标签可拖动的图形实现代码
2013/02/20 Javascript
js控制table合并具体实现
2014/02/20 Javascript
JavaScript中removeChild 方法开发示例代码
2016/08/15 Javascript
全面总结Javascript对数组对象的各种操作
2017/01/22 Javascript
Vue的MVVM实现方法
2017/08/16 Javascript
解决vue中使用proxy配置不同端口和ip接口问题
2019/08/14 Javascript
JS实现的碰撞检测与周期移动完整示例
2019/09/02 Javascript
vue中 数字相加为字串转化为数值的例子
2019/11/07 Javascript
Vue v-model组件封装(类似弹窗组件)
2020/01/08 Javascript
解决vue请求接口第一次成功,第二次失败问题
2020/09/08 Javascript
[53:15]Newbee vs Pain 2018国际邀请赛小组赛BO2 第二场 8.16
2018/08/17 DOTA
python局部赋值的规则
2013/03/07 Python
python实现根据月份和日期得到星座的方法
2015/03/27 Python
Python基于DES算法加密解密实例
2015/06/03 Python
python3+PyQt5实现使用剪贴板做复制与粘帖示例
2017/01/24 Python
使用Keras实现Tensor的相乘和相加代码
2020/06/18 Python
基于python图书馆管理系统设计实例详解
2020/08/05 Python
AE美国鹰日本官方网站: American Eagle Outfitters
2016/12/10 全球购物
New Balance德国官方网站:购买鞋子和服装
2019/08/31 全球购物
俄罗斯第一家篮球店:StreetBall
2020/07/30 全球购物
网络通讯中,端口有什么含义,端口的取值范围
2012/11/23 面试题
兼职学生的自我评价
2013/11/24 职场文书
党建工作经验交流材料
2014/05/25 职场文书
竞选班干部演讲稿500字
2014/08/20 职场文书
2015年元宵节活动总结
2015/02/06 职场文书
教师求职信怎么写
2015/03/20 职场文书
选调生挂职锻炼工作总结
2015/10/23 职场文书