最近刚学了一个python生成器,用生成器实现斐波那契数列
def fib(items):
n=0
a,b=0,1
while n<=items:
yield a
a,b=b,a+b
n+=1
num_str = input("请输入一个数:")
num=int(num_str)
F=fib(num)
for i in F:
print(i)
总结:
总结:
生成器(函数),它记住上一次返回时在函数体中的位置。对生成器函数的第二次(或者第n次)调用
跳转至该函数的yeild暂停的位置处,继续执行。(上次调用的所有局部变量都保持状态 )
生成器不仅“记住”了它的数据状态,还记住了它在流程控制中的位置。
生成器的特点:
1.节约内存
2.迭代到下一次调用 时,所使用的参数是上一次所保留下的。
在整个所有函数调用参数,都保留“上一次”执行状态。