python 退出yield
时间: 2024-04-18 11:22:46 浏览: 332
在Python中,yield语句用于定义生成器函数。生成器函数可以通过yield语句来产生一个值,并且在生成值后暂停函数的执行,保存当前的状态。当再次调用生成器函数时,它会从上次暂停的位置继续执行。
要退出yield语句,可以使用return语句来结束生成器函数的执行。当生成器函数执行到return语句时,会抛出StopIteration异常,表示生成器已经完成了所有的迭代。
下面是一个简单的示例代码,演示了如何退出yield语句:
```python
def my_generator():
yield 1
yield 2
return 3
gen = my_generator()
print(next(gen)) # 输出 1
print(next(gen)) # 输出 2
try:
print(next(gen))
except StopIteration as e:
print(e.value) # 输出 3
```
在上面的代码中,my_generator()是一个生成器函数,它使用yield语句产生了两个值:1和2。然后使用return语句返回了值3。在使用next()函数迭代生成器时,前两次调用会返回yield产生的值,第三次调用会抛出StopIteration异常,并且异常对象的value属性为return语句返回的值。
阅读全文