生成器
如果函数中包含yield语法,那这个函数就会变成生成器
#生成器,yield存储了上一次循环停留的位置,在迭代器进入查找时,会根据yield记录的位置继续往下进行
def func():print(1111)yield 'a'print(2222)yield 'b'print(3333)yield 'c'
reg=func()
ret1=reg.__next__()
print(ret1)
ret2=reg.__next__()
print(ret2)
ret3=reg.__next__()
print(ret3)
利用生成器模拟xrange
def mrange(args):start = 0while True:if args > start:returnstart += 1print(start)mrange(10)
func是函数称为生成器,当执行此函数func()时会得到一个迭代器