dive into python P345
使用生成器替代递归:
'''
fib(100)返回一个生成器的对象
for循环将会创建一个生成器对象并连续调用其next方法获得值并赋予循环变量v
每轮for循环v都从yield语句获得一个新的值
'''
def fib(maxnumber):
a,b=0,1
while a<maxnumber:
yield a
a,b=a+b,a
if __name__ == '__main__':
#fib(100)返回一个生成器的对象
#for循环将会创建一个生成器对象并连续调用其next方法获得值并赋予循环变量v
for v in fib(100):
print v,

本文介绍了一种使用Python生成器优化斐波那契数列计算的方法,通过迭代而非递归的方式,提高了代码效率并避免了深度递归可能导致的栈溢出问题。

被折叠的 条评论
为什么被折叠?



