ジェネレータ ジェネレータ(Generator)とは、イテレータコンパチなインターフェイスを持つけど、 指すべきコレクションがあるわけでもなく、そのたんびに 値を作り出して返すようなモノを作るモノをいいます。 Python では、yield 句を含む 関数は ジェネレータとなります。 def myGenerator: yield 1 yield 2 yield 3 gen = myGenerator() for i in gen: print i 上記コード上の gen はイテレータと同じインターフェイスを持っていて、 next() を呼び出せば次のyield を返し gen の最後まで実行すると StopIteration 例外を発生させます。 つまり for 文を使わない場合は以下のようになります。 print gen.next() # "1" print gen.next() # "