python def yield
时间: 2023-11-09 12:02:20 浏览: 85
python中的yield使用方法
`yield` 是 Python 中的一个关键字,用于定义生成器函数。生成器函数可以像普通函数一样定义,但是当函数中包含 `yield` 语句时,它就不再是一个普通函数,而是一个生成器函数。当生成器函数被调用时,它会返回一个生成器对象,而不是执行函数体中的代码。每次调用生成器对象的 `__next__()` 方法时,生成器函数会从上一次执行的位置继续执行,直到遇到下一个 `yield` 语句或者函数结束。
下面是一个简单的例子:
```python
def my_generator():
yield 1
yield 2
yield 3
gen = my_generator()
print(next(gen)) # 输出 1
print(next(gen)) # 输出 2
print(next(gen)) # 输出 3
```
在上面的例子中,`my_generator()` 是一个生成器函数,它包含三个 `yield` 语句。当我们调用 `my_generator()` 函数时,它会返回一个生成器对象 `gen`。我们可以通过调用 `next(gen)` 方法来逐个获取生成器对象中的值。
阅读全文