我很好奇使用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
Run Code Online (Sandbox Code Playgroud)
我猜的更"Python化"的方式来做到这一点是第二种方式(请纠正我,如果我错了),但据我可以看到两种方式提出一个StopIteration例外.