/ /ジェネレータ関数Python 2の戻り値 - python

ジェネレータ関数Python 2の戻り値 - python

Python 2では、ジェネレータ関数が値を返そうとすると、次のエラーメッセージが表示されます。 SyntaxError: "return" with argument inside generator

私はジェネレータを受け取るかどうかを指定する関数を書くことは可能ですか?

例えば:

def f(generator=False):
if generator:
yield 3
else:
return 3

回答:

回答№1は4

必須読​​書: Pythonでジェネレータを理解する

キー情報:

yield 関数内のどこでもジェネレータになります。

コードが解析されると、関数はジェネレータとしてマークされます。したがって、実行時に渡される引数に基づいて関数の振る舞い(ジェネレータ/非生成器)を切り替えることは不可能です。