1
2

More than 5 years have passed since last update.

Pythonのジェネレータの動きだけを簡単に理解する

Last updated at Posted at 2019-02-09

Pythonのジェネレータの詳細な説明や使い道については以下の記事が参考になります。

ジェネレータの詳細や使い道はともかく、動きだけを見ると以下のようになります。

  • ループで呼び出すとジェネレータ関数内の文を順次実行し、yieldした値が取り出され、そこで処理が中断される。
  • 次に呼び出された時は、yieldの次の文から処理が再開される。
  • ジェネレータ関数内の処理が全て終了するとループも終了する。

次のようなプログラムを実行してみると理解しやすいと思います。

def generator():
    print('a')
    yield 1
    print('b')
    yield 2
    print('c')
    yield 3
    print('END')

for y in generator():
    print(y)
    print('#')

出力

a
1
#
b
2
#
c
3
#
END
1
2
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
1
2