python 的yield
时间: 2023-09-24 10:05:58 浏览: 69
Python yield与实现方法代码分析
yield是Python中一个关键字,用于定义生成器函数。生成器函数是一种特殊的函数,它可以在函数执行过程中暂停,并且返回一个中间结果。当函数再次被调用时,它会从上一次暂停的地方继续执行,并返回下一个中间结果,直到函数执行完毕。
下面是一个简单的例子,演示如何使用yield定义一个生成器函数:
```python
def my_generator():
yield 1
yield 2
yield 3
```
这个函数可以被调用,但不会像普通函数一样立即执行。相反,它会返回一个生成器对象。当我们对该对象进行迭代时,它会在每次迭代中暂停并返回一个中间结果,直到没有更多的结果可返回为止。
```python
gen = my_generator()
for i in gen:
print(i)
```
输出:
```
1
2
3
```
yield的优点是它可以节省内存,因为它只在需要时生成结果。相比于一次性生成所有结果,使用yield可以让我们在需要时逐个生成结果,从而避免生成大量的中间结果占用内存。
阅读全文