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下的Mysql模块MySQLdb安装详解
Apr 09 Python
python根据出生日期获得年龄的方法
Mar 31 Python
使用Python对IP进行转换的一些操作技巧小结
Nov 09 Python
Windows下Python2与Python3两个版本共存的方法详解
Feb 12 Python
python学习笔记之列表(list)与元组(tuple)详解
Nov 23 Python
python mac下安装虚拟环境的图文教程
Apr 12 Python
Django模型序列化返回自然主键值示例代码
Jun 12 Python
在Python中使用MySQL--PyMySQL的基本使用方法
Nov 19 Python
在 Python 中使用 MQTT的方法
Aug 18 Python
python中的测试框架
Nov 13 Python
用Python可视化新冠疫情数据
Jan 18 Python
python3 字符串str和bytes相互转换
Mar 23 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知道与问问的采集插件代码
2010/10/12 PHP
php学习之运算符相关概念
2011/06/09 PHP
生成随机字符串和验证码的类的PHP实例
2013/12/24 PHP
php通过修改header强制图片下载的方法
2015/03/24 PHP
浅谈php处理后端&amp;接口访问超时的解决方法
2016/10/29 PHP
YII2框架中添加自定义模块的方法实例分析
2020/03/18 PHP
基于jquery的textarea发布框限制文字字数输入(添加中文识别)
2012/02/16 Javascript
js 判断上传文件大小及格式代码
2013/11/13 Javascript
使用CSS3的scale实现网页整体缩放
2014/03/18 Javascript
JavaScript判断文件上传类型的方法
2014/09/02 Javascript
通过伪协议解决父页面与iframe页面通信的问题
2015/04/05 Javascript
jquery实现华丽的可折角广告代码
2015/09/02 Javascript
JavaScript事件学习小结(五)js中事件类型之鼠标事件
2016/06/09 Javascript
VUE利用vuex模拟实现新闻点赞功能实例
2017/06/28 Javascript
详解如何用webpack打包一个网站应用项目
2017/07/12 Javascript
前端主流框架vue学习笔记第一篇
2017/07/26 Javascript
微信小程序中this.data与this.setData的区别详解
2018/09/17 Javascript
解析JS在获取当前月的最后一天遇到的坑
2019/08/30 Javascript
关于layui表单中按钮自动提交的解决方法
2019/09/09 Javascript
原生js实现贪食蛇小游戏的思路详解
2019/11/26 Javascript
keep-Alive搭配vue-router实现缓存页面效果的示例代码
2020/06/24 Javascript
Python中多线程及程序锁浅析
2015/01/21 Python
PyQt 线程类 QThread使用详解
2017/07/16 Python
python多进程下实现日志记录按时间分割
2019/07/22 Python
opencv python在视屏上截图功能的实现
2020/03/05 Python
使用CSS媒体查询(Media Queries)和JavaScript判断浏览器设备类型的方法
2014/04/03 HTML / CSS
澳大利亚正品化妆品之家:Cosmetic Capital
2017/07/03 全球购物
英国和世界各地预订便宜的酒店:LateRooms.com
2019/05/05 全球购物
北欧最好的童装网上商店:Babyshop
2019/09/15 全球购物
师范应届生教师求职信
2013/11/05 职场文书
简历上的自我评价怎么写
2014/01/28 职场文书
领导干部廉政承诺书
2014/03/27 职场文书
结婚通知短信怎么写
2015/04/17 职场文书
解决golang post文件时Content-Type出现的问题
2021/05/02 Golang
详解gantt甘特图可拖拽、编辑(vue、react都可用 highcharts)
2021/11/27 Vue.js
聊聊mysql都有哪几种分区方式
2022/04/13 MySQL