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 dict remove数组删除(del,pop)
Mar 24 Python
Python的GUI框架PySide的安装配置教程
Feb 16 Python
python 循环遍历字典元素的简单方法
Sep 11 Python
Scrapy爬虫实例讲解_校花网
Oct 23 Python
值得收藏的10道python 面试题
Apr 15 Python
Django中多种重定向方法使用详解
Jul 17 Python
Django Admin中增加导出Excel功能过程解析
Sep 04 Python
python基于三阶贝塞尔曲线的数据平滑算法
Dec 27 Python
python实现图像拼接功能
Mar 23 Python
Python爬虫爬取新闻资讯案例详解
Jul 14 Python
python生成随机数、随机字符、随机字符串
Apr 06 Python
实例详解Python的进程,线程和协程
Mar 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 和 MYSQL
2006/10/09 PHP
解析阿里云ubuntu12.04环境下配置Apache+PHP+PHPmyadmin+MYsql
2013/06/26 PHP
PHP排序算法之冒泡排序(Bubble Sort)实现方法详解
2018/04/20 PHP
PHP利用DWZ.CN服务生成短网址
2019/08/11 PHP
laravel-admin 实现给grid的列添加行数序号的方法
2019/10/08 PHP
PHP数组与字符串互相转换实例
2020/05/05 PHP
基于Jquery的文字自动截取(提供源代码)
2011/08/09 Javascript
利用jQuery实现可输入搜索文字的下拉框
2013/10/23 Javascript
js实现透明度渐变效果的方法
2015/04/10 Javascript
通过实例理解javascript中没有函数重载的概念
2015/06/03 Javascript
最丑的时钟效果!js canvas时钟制作方法
2016/08/15 Javascript
JS实用的带停顿的逐行文本循环滚动效果实例
2016/11/23 Javascript
mui上拉加载功能实例详解
2017/04/13 Javascript
Vue.js实现价格计算器功能
2020/03/30 Javascript
jQuery UI 实例讲解 - 日期选择器(Datepicker)
2017/09/18 jQuery
JavaScript数组,JSON对象实现动态添加、修改、删除功能示例
2018/05/26 Javascript
js 将线性数据转为树形的示例代码
2019/05/28 Javascript
原生js实现二级联动菜单
2019/11/27 Javascript
微信小程序淘宝首页双排图片布局排版代码(推荐)
2020/10/29 Javascript
[02:09]抵达西雅图!中国军团加油!
2014/07/07 DOTA
[28:42]Ti4正赛VG vs NEWBEE1
2014/07/19 DOTA
[59:44]2018DOTA2亚洲邀请赛 3.31 小组赛 B组 paiN vs iG
2018/03/31 DOTA
按日期打印Python的Tornado框架中的日志的方法
2015/05/02 Python
python实现批量下载新浪博客的方法
2015/06/15 Python
python用10行代码实现对黄色图片的检测功能
2015/08/10 Python
python利用高阶函数实现剪枝函数
2018/03/20 Python
不到40行代码用Python实现一个简单的推荐系统
2019/05/10 Python
python实现将两个文件夹合并至另一个文件夹(制作数据集)
2020/04/03 Python
Django数据结果集序列化并展示实现过程
2020/04/22 Python
CSS3 filter(滤镜)实现网页灰色或者黑色模式的代码
2020/11/30 HTML / CSS
德国柯吉澳趣味家居:Koziol
2017/08/24 全球购物
优秀毕业生就业推荐信
2014/05/22 职场文书
高中班主任评语
2014/12/30 职场文书
信访维稳承诺书
2015/05/04 职场文书
Python WSGI 规范简介
2021/04/11 Python
利用python Pandas实现批量拆分Excel与合并Excel
2021/05/23 Python