我想知道如何编写一个生成器函数,它也有返回值的选项。在Python 2中,如果生成器函数试图返回值,则会得到以下错误消息。SyntaxError: 'return' with argument inside generator
是否可以在指定是否要接收生成器的情况下编写函数?
例如:
def f(generator=False):
if generator:
yield 3
else:
return 3
发布于 2016-09-27 22:01:12
强制性阅读:Understanding Generators in Python
关键信息:
函数中的任何一个
yield
都使它成为一个生成器。
函数在分析代码时被标记为生成器。因此,根据运行时传递的参数切换函数行为(生成器/非生成器)是不可能的。
https://stackoverflow.com/questions/39734786
复制相似问题