生成器函数
- 包含yield语句的函数可以用来创建生成器对象,这样的函数也称生成器函数。
- 每次执行到yield语句会返回一个值然后暂停或挂起后面代码的执行,下次通过生成器对象的_ next _()方法、内置函数next()、for循环遍历生成器对象元素或其他方式显式“索要”数据时恢复执行。
- 生成器对象具有惰性求值的特点。
def test():
a,b=1,1
while 1:
yield a
a,b=b,a+b
a=test()
for i in range(3):
print(a.__next__(),end=" ")
for i in test():
if i >5:
print(i)
break
1 1 2
8