什么是 yield

yield 是 Python 中的关键字,它是一种返回迭代器的函数,它可以用来返回一个值,并且可以在函数中暂停和恢复执行。yield 可以让你把一个函数变成一个生成器,这样你就可以控制函数的执行,而不是让函数一次性执行完毕。

yield 的用法

yield 的用法非常简单,只需要在函数中使用 yield 关键字,就可以把函数变成一个生成器,例如:

def my_generator():yield 1yield 2yield 3
Python

上面的代码定义了一个生成器函数,调用它可以返回一个迭代器,每次调用 next() 函数都会返回一个 yield 语句后面的值:

gen = my_generator()print(next(gen)) # 1print(next(gen)) # 2print(next(gen)) # 3
Python

yield 的优势

使用 yield 可以让你的代码更加简洁,更加高效,而且可以更好的控制函数的执行。你可以在函数中使用 yield 语句,把函数变成一个生成器,这样你就可以控制函数的执行,而不是让函数一次性执行完毕。

另外,使用 yield 也可以让你的代码更加灵活,你可以定义一个生成器函数,然后根据不同的情况来返回不同的值,这样就可以让你的代码更加灵活,也更加容易维护。