python中的yield怎么使用

avatar
作者
猴君
阅读量:3

在Python中,yield是一个关键字,用于定义一个生成器函数。生成器函数可以通过使用yield来产生一个值,并且在每次产生值后,暂停执行,保存函数的当前状态。然后,当再次需要生成值时,可以从上次暂停的地方继续执行。

下面是一个简单的例子,展示了如何使用yield来定义一个生成器函数:

def my_generator():     yield 1     yield 2     yield 3  # 创建一个生成器对象 gen = my_generator()  # 使用next()函数获取生成器的下一个值 print(next(gen))  # 输出:1 print(next(gen))  # 输出:2 print(next(gen))  # 输出:3  # 当没有更多的值可以生成时,会引发StopIteration异常 

在上面的例子中,my_generator函数是一个生成器函数,它通过使用yield关键字产生了三个值:1、2和3。当调用next(gen)时,生成器函数会从上次暂停的地方继续执行,生成下一个值,并返回给调用者。当没有更多的值可以生成时,会引发StopIteration异常。

此外,生成器函数还可以使用for循环来遍历生成器产生的值,而不需要显式调用next()函数。例如:

for value in my_generator():     print(value) 

上面的代码会依次输出1、2和3。

广告一刻

为您即时展示最新活动产品广告消息,让您随时掌握产品活动新动态!