在生成器中,raise StopIteration和return语句之间有什么区别?
- 论坛
- 在生成器中,raise StopIteration和return语句之间有什么区别?
9 浏览
在生成器中,raise StopIteration和return语句之间有什么区别?
我对在生成器中使用raise StopIteration
和return
语句之间的区别很感兴趣。例如,这两个函数之间有什么区别吗?
def my_generator0(n): for i in range(n): yield i if i >= 5: return def my_generator1(n): for i in range(n): yield i if i >= 5: raise StopIteration
我猜测更符合Python风格的方式是第二种方式(如果我错了,请纠正我),但据我所见,两种方式都会引发StopIteration
异常。