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 strip lstrip rstrip使用方法
Sep 06 Python
Python struct.unpack
Sep 06 Python
基于Python3 逗号代码 和 字符图网格(详谈)
Jun 22 Python
python实现冒泡排序算法的两种方法
Mar 10 Python
Python基于多线程实现抓取数据存入数据库的方法
Jun 22 Python
Python 支付整合开发包的实现
Jan 23 Python
Python企业编码生成系统之主程序模块设计详解
Jul 26 Python
django项目环境搭建及在虚拟机本地创建django项目的教程
Aug 02 Python
Python类反射机制使用实例解析
Dec 30 Python
利用Python脚本实现自动刷网课
Feb 03 Python
python 如何做一个识别率百分百的OCR
May 29 Python
Python加密技术之RSA加密解密的实现
Apr 08 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中的Streams工具
2015/07/03 PHP
使用PHP下载CSS文件中的所有图片【几行代码即可实现】
2016/12/14 PHP
解析 thinkphp 框架中的部分方法
2017/05/07 PHP
大家未必知道的Js技巧收藏
2008/04/07 Javascript
javascript SocialHistory 检查访问者是否访问过某站点
2008/08/02 Javascript
div+css+js实现无缝滚动类似marquee无缝滚动兼容firefox
2013/08/29 Javascript
JavaScript字符串对象charAt方法入门实例(用于取得指定位置的字符)
2014/10/17 Javascript
JavaScript使用shift方法移除素组第一个元素实例分析
2015/04/06 Javascript
学习JavaScript设计模式(多态)
2015/11/25 Javascript
JavaScript编写检测用户所使用的浏览器的代码示例
2016/05/05 Javascript
微信小程序 富文本转文本实例详解
2016/10/24 Javascript
js实现适合新闻类图片的轮播效果
2017/02/05 Javascript
Angular2 之 路由与导航详细介绍
2017/05/26 Javascript
js+html5实现页面可刷新的倒计时效果
2017/07/15 Javascript
解决使用Vue.js显示数据的时,页面闪现原始代码的问题
2018/02/11 Javascript
详解Node使用Puppeteer完成一次复杂的爬虫
2018/04/18 Javascript
详解javascript中的变量提升和函数提升
2018/05/24 Javascript
对angular2中的ngfor和ngif指令嵌套实例讲解
2018/09/12 Javascript
基于webpack4.X从零搭建React脚手架的方法步骤
2018/12/23 Javascript
jQuery中DOM操作原则实例分析
2019/08/01 jQuery
JavaScript实现好看的跟随彩色气泡效果
2020/02/06 Javascript
教大家使用Python SqlAlchemy
2016/02/12 Python
Pandas 数据框增、删、改、查、去重、抽样基本操作方法
2018/04/12 Python
Python3.5基础之NumPy模块的使用图文与实例详解
2019/04/24 Python
PyQt5实现让QScrollArea支持鼠标拖动的操作方法
2019/06/19 Python
Python 使用多属性来进行排序
2019/09/01 Python
西班牙香水和化妆品网上商店:Douglas
2017/10/29 全球购物
金智子午JAVA面试题
2015/09/04 面试题
北京某公司的.net笔试题
2014/03/20 面试题
银行求职推荐信范文
2013/11/30 职场文书
自荐信需注意事项
2014/01/25 职场文书
物业经理自我鉴定
2014/03/03 职场文书
2014年幼儿园后勤工作总结
2014/11/10 职场文书
自我检讨报告
2015/01/28 职场文书
2015年城管个人工作总结范文
2015/04/20 职场文书
MySQL中正则表达式(REGEXP)使用详解
2022/07/07 MySQL