python yield函数用法
时间: 2024-09-02 22:00:34 浏览: 69
初步解析Python中的yield函数的用法
5星 · 资源好评率100%
在Python中,`yield`关键字用于创建生成器(Generator)。它不是返回值,而是返回一个迭代器,可以在需要的时候逐个地生成值。当函数遇到`yield`时,会暂停并保存当前的状态,下次调用时从上次离开的地方继续执行,就像一个可以记住状态的普通函数。
以下是`yield`的一些基本用法:
1. **定义生成器**:
```python
def my_generator(n):
i = 0
while i < n:
yield i # 每次循环都暂停,并通过yield返回i的值
i += 1
gen = my_generator(5)
```
2. **生成并使用值**:
```python
for value in gen: # 使用for循环可以获取生成器的所有值
print(value)
```
3. **暂停和恢复执行**:
```python
# 使用next()函数手动触发生成器执行
print(next(gen)) # 输出0
print(next(gen)) # 输出1
```
当你想要控制生成器的行为或者处理大量数据,使用`yield`比一次性生成所有结果更节省内存。
阅读全文