ダウンロードすると結果が出る関数があります。この質問の目的のために、1秒に1回刺し傷を出すが、ジェネレーターをラップする便利な関数が必要だとします。
import time
def GeneratorFunction(max_val):
for i in range(0,5):
time.sleep(1)
yield "String %d"%i
def SmallGenerator():
yield GeneratorFunction(3)
for s in SmallGenerator():
print s
...なぜそれは私が期待している5つの文字列を印刷しないのですか?代わりに、ジェネレータ関数を返すように見えます。
<generator object GeneratorFunction at 0x020649B8>
通常のジェネレーター関数のように文字列を生成するためにこれを取得するにはどうすればよいですか?