【发布时间】:2021-03-22 19:07:20
【问题描述】:
在 Python 2 中,函数定义中 return 与 yield 一起出现错误。但是对于 Python 3.3 中的这段代码
def f():
return 3
yield 2
x = f()
print(x.__next__())
在带有yield的函数中使用return没有错误。但是,当调用函数__next__ 时,会抛出异常 StopIteration。为什么不只是返回值3?这个返回值是否被忽略了?
【问题讨论】:
标签: python python-3.x generator