python的yield怎么用
时间: 2024-05-18 17:16:27 浏览: 43
python中的yield使用方法
yield 是一个关键字,用于定义生成器函数。生成器函数是一种特殊的函数,它可以暂停执行并返回一个中间结果,然后再次从暂停的地方继续执行。这样的函数可以用于按需生成大量数据,而不需要一次性将所有数据存储在内存中。
下面是一个简单的示例,展示了如何使用 yield 关键字:
```python
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 异常
print(next(gen)) # 引发 StopIteration 异常
```
通过使用 yield 关键字,我们可以在函数中使用 yield 语句多次返回值。每次调用生成器的 `next()` 函数时,函数会从上次暂停的位置继续执行,并返回下一个 yield 语句的值。
请注意,生成器可以在每次调用 `next()` 函数时返回不同的值,也可以根据需要接收参数,并根据参数的不同返回不同的结果。这为我们提供了一种更灵活和高效地处理大量数据的方式。
阅读全文