23
2018/10
概述此前的日志中,我们了解了 python 的循环语句python 条件与循环语句本篇日志中,我们通过 yield 关键字来优化循环的执行 生成斐波那契数列斐波那契数列是一个非常简单的递归数列,除第一个和第二个数外,任意一个数都可由前两个数相加得到下面是使用 python 实现的一个斐波那契序列函数:def fab(max):
n, a, b = 0, 0, 1
L = []
while n < max:
L.append(b)
a, b = b, a + b
n = n + 1
return L 如下调用可以看到返回结果:>>> for n in fab(5):
... print n
...
1
1
2
3
5 如果我们的 max 增大,返回的列表占用的空间将显著提升,这显然是我们不希望看到的 空间优化 -- 迭代器上一篇日志中,我们介绍了迭代器,迭代器可以解决上面提到的问题下面我们定义一个迭代器:class Fab(object):
def __init__(self, max)
#技术帖
#龙潭书斋
#python
#生成器