[Python] iterable/iterator

2445 ワード

iterableオブジェクト


リピート可能オブジェクト
list, dict, set, str, bytes, tuples, range
文で巡回するオブジェクトをIterableと見なすことができます
iteratorを返す関数iter()にmagicメソッドiter()を実装しているオブジェクトをiterableと呼びます
iterableのチェック方法

iterator


値を順番にポップアップできるオブジェクト(各要素のオブジェクトを返すことができます)
歪みはデータストリームを表します.内部にmagicメソッドnext()が実装されている場合、next()のパラメータとして次のデータをロードすることができるのはiteratorと呼ばれます.
a = [1, 2, 3]

a = iter(a)
print(a.__next__()) # 1 출력
print(a.__next__()) # 2 출력
print(a.__next__()) # 3 출력
print(a.__next__()) # StopIteration Exception 발생
 

->歪み発生器は歪み発生器でもよいが、すべての歪み発生器は歪み発生器ではない!
->奇形オブジェクトはnext()メソッドを持ち、次の順序のitemを返します.
(nextメソッドが次の値を返す場合は奇形、ない場合はIterableオブジェクト)