当生成器函数中含有return时,return不会返回任何值,会直接终止当前生成器,对yield的作用没有影响,当函数执行到return时候,调用next()来执行生成器则会报错,如果使用for循环遍历,for循环会自动捕获该异常,直接停止遍历
def func():
for i in range():
i +=
yield i
# print(i)
return i
f = func()
for i in f:
print(i)
f = func()
next(f)
# f.send()
next(f)
next(f)
next(f)