目录
raise stopiteration的作用?
raise StopIteration
是 Python 中的一个语句,用于提前终止一个迭代器中的循环。
迭代器是一种可以记住遍历的位置的对象,可以在任何时候停止或恢复遍历。StopIteration
是 Python 的内置异常类型之一,用于指示迭代器中的循环应该立即停止。
当你在一个迭代器中执行 raise StopIteration
时,它将立即终止循环,并将控制权返回给调用该迭代器的代码。这个语句通常在自定义迭代器中使用,用于在满足某些条件时提前结束循环。
示例
# 定义一个名为custom_iterator的函数,它接受两个参数:起始值start和结束值end
def custom_iterator(start, end):
# 初始化num为起始值start
num = start
# 当num小于结束值end时,执行循环
while num < end:
# 使用yield语句生成num的值,并将其作为本次循环的返回值
yield num
# num增加1
num += 1
# 如果num大于5,则抛出StopIteration异常,终止循环
if num > 5:
raise StopIteration
# 调用custom_iterator函数,参数为(1, 10),生成一个迭代器,并赋值给value
for value in custom_iterator(1, 10):
# 打印value的值
print(value)
输出结果: