yield 在Python中,yield关键字用于创建生成器函数。
生成器函数是一种特殊类型的函数,可以在执行过程中暂停和恢复。
当调用生成器函数时,它返回一个迭代器对象,可以用来迭代生成器产生的值。
yield关键字用于生成器函数的主体中,用于指定生成器应该返回的值。
每次遇到yield关键字时,生成器函数会暂停,并返回yield指定的值。
下次调用生成器函数时,它会从上次暂停的地方继续执行,直到遇到下一个yield语句。
def generator_function():
...
yield value
...在上面的代码中,generator_function是一个使用yield关键字指定生成器应该返回的值的生成器函数。yield关键字后面跟着应该返回的值。
def fibonacci():
a, b = 0, 1
while True:
yield a
a, b = b, a + b
fib = fibonacci()
print(next(fib)) # 输出: 0
print(next(fib)) # 输出: 1
print(next(fib)) # 输出: 1
print(next(fib)) # 输出: 2
print(next(fib)) # 输出: 3在上面的代码中,我们定义了一个生成器函数fibonacci,用于生成斐波那契数列。
每次遇到yield语句时,当前的a值被返回,并且a和b的值被更新以生成序列中的下一个值。
我们通过调用fibonacci函数创建了一个迭代器对象fib,然后使用next函数来迭代生成器产生的值。
yield关键字只能在生成器函数内部使用。