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,