python中只要函数内部包含有yield关键字,那么函数名()的到的结果就是生成器,并且不会执行函数内部代码,通过__next__()或者next()函数可以获取值,每调用一次,都会取出一个值,无值可取时会报StopIteration错
def fun():
for i in range(10):
yield i
f = fun()
print(type(f)) # <class 'generator'>
f.__iter__()
f.__next__()
print(next(f))
本文深入解析了Python中生成器的概念及使用方式。当函数中包含yield关键字时,该函数将变为生成器,调用时返回生成器对象而非执行函数。通过next()函数可逐次获取生成器中的值,直至StopIteration异常表示无更多值可取。

被折叠的 条评论
为什么被折叠?



