函数的return语句用yield语句代替,这个函数就变成了一个生成器。
yield能返回多次值,每返回一次就暂停,下次从暂停处继续。
def func(n):
i = 0
while i <n:
yield i
i += 1
g = func(5)
for i in g:
print(i)
运行结果,依次输出0 1 2 3 4。
函数的return语句用yield语句代替,这个函数就变成了一个生成器。
yield能返回多次值,每返回一次就暂停,下次从暂停处继续。
def func(n):
i = 0
while i <n:
yield i
i += 1
g = func(5)
for i in g:
print(i)
运行结果,依次输出0 1 2 3 4。