たれぱんのびぼーろく

わたしの備忘録、生物学とプログラミングが多いかも

python: イテレータ

iterate[íṭərèɪt]: ~を繰り返す (weblio)

iterateの意味 - 英和辞典 Weblio辞書

 

pythonにおけるイテレータとは、中身を順番に取り出す仕組みのこと

for文でrange(10)から1,2,3...と取り出すときとかに裏で仕事してる

__iter__()と__next__()を実装したclassというのが正式な定義なのかな?(出典どっかいった)

 

 

関連するもの:

イテレータ/iterator object

 http://docs.python.jp/3.4/glossary.html#term-iterator

iterable

for-in文:

 最初にiter()を、毎回next()を呼んでるっぽい

iter():

 組み込み関数、for文が最初に呼び出すっぽい

 http://docs.python.jp/3.4/library/functions.html#iter

next():

 組み込み関数

 http://docs.python.jp/3.4/library/functions.html#next

__iter__():

 __next__()メソッドを持つinstanceを返す(しばしばselfを返す)

 iter()実行時にcallされるっぽい

 interation用のメンバ変数をここで作ったりしてる(やつをいくつかみた)

__next__():

 returnで次のものをぴょい

 next()実行時にcallされるっぽい