这里有新鲜出炉的 Python 多线程编程,程序狗速度看过来!
Python 是一种面向对象、解释型计算机程序设计语言,由 Guido van Rossum 于 1989 年底发明,第一个公开发行版发行于 1991 年。Python 语法简洁而清晰,具有丰富和强大的类库。它常被昵称为胶水语言,它能够把用其他语言制作的各种模块(尤其是 C/C++)很轻松地联结在一起。
这篇文章主要介绍了 Python 使用迭代器捕获 Generator 返回值的方法, 结合具体实例形式分析了 Python 迭代器获取生成器返回值的相关操作技巧, 需要的朋友可以参考下
本文实例讲述了 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 程序设计有所帮助。
来源: http://www.phperz.com/article/17/0709/333851.html