#生成器函数,一个函数里如果有yield,这个函数就变成生成器函数了,主要用于保存工作状态的左右
def xrange():
print(1)
yield 1
print(2)
yield 2
print(3)
yield 3
print(4)
yield 4
print(5)
yield 5
#仅获取到了一个生成器
r=xrange()
#生成器的__next__方法,执行函数寻找下一个yield
ret=r.__next__()
print(ret)
ret=r.__next__()
print(ret)
def a(n):
t=0
while True:
if t>n:
return
yield t
t+=1
r=a(5)
n1=r.__next__()
print(n1)
n2=r.__next__()
print(n2)
n3=r.__next__()
print(n3)
n4=r.__next__()
print(n4)
n5=r.__next__()
print(n5)
n6=r.__next__()
print(n6)