生成器
生成器的作用
根据程序设计者制定的规则循环生成数据,当条件不成立时则生成数据结束,数据不是一次性全部生成出来,而是使用一个,再生成一个,可以节约大量的内存。
生成器的创建
两种方式
生成器的使用
斐波那契数列(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)