温馨提示×

python中的yield怎么使用

小亿
101
2023-11-21 04:04:06
栏目: 编程语言

在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。

0