文章目录

如果函数中包含yield关键字,那么这个函数就不再是一个普通函数,而是一个generator。而变成generator的函数在每次调用next()的时候执行遇到yield语句返回,再次执行时从上一次返回的yield语句继续执行

1
2
3
4
5
def fib(max):
a,b,c = 0,1,0
while c < max:
yield b
a,b,c = b,a+b,c+1

>>> o = fib(1000)
>>> o.next()
1
>>> o.next()
1
>>> o.next()
2
>>> o.next()
3
>>> o.next()
文章目录