#def func(param):
# if param < 0:
# return "test"
# i = 0
# while i < param:
# yield i
# i += 1
def func(param):
if param < 0:
return "test"
def gen(n):
i = 0
while i < param:
yield i
i += 1
return gen(param)
print(func(-1))
print(func(3))
g = func(3)
for i in range(0, 3):
print(next(g))
是否有一个Python解释器无法隐式地将注释代码转换为实际代码的原因?这似乎应该是允许的,但我想知道是什么影响,使他们选择不接受这一点。为什么Python解释器不隐式创建生成器?
我认为功能已经走了,但是我永远无法在第一时间之后再次找到源我读过它,我没有安装Python 3进行测试。你有一个PEP链接或记录变化的东西吗? – user2357112
[PEP380](http://www.python。组织/开发/ PEPS/PEP-0380 /)。你可以看到这个规则:@ user2357112 – zhangyangyu
从技术上讲,你可以在Python 2.x的生成器中使用'return' - 你不能返回一个值。这相当于提高'StopIteration'。 – Amber