生成器

生成器的作用

根据程序设计者制定的规则循环生成数据,当条件不成立时则生成数据结束,数据不是一次性全部生成出来,而是使用一个,再生成一个,可以节约大量的内存。

生成器的创建

两种方式

生成器的使用

斐波那契数列(Fibonacci):数列中第一个数为0,第二个数为1,其后每一个数都由前两个数相加得到

# 0, 1, 1, 2, 3, 5, 8, 13, 21, 34
def fb(num):
    a = 0
    b = 1

    # 记录生成了几个数字
    index = 0

    while index < num:
        result = a
        a, b = b, a + b
        yield result
        index += 1

f = fb(10)
# print(next(f))
# print(next(f))
# print(next(f))

for i in f:
    print(i)