オブジェクト(反復処理可能)利用可能な反復
1、定義:データの循環式で直接使用することができ、そのようなリスト、タプル、辞書、集合などの STR、 そこジェネレータ(発電機)、
及び直接ことができる収率の関数と循環における使用のためにまとめて(反復可能)をイテレート可能オブジェクト
コレクションをインポート反復処理可能
プリント(でisinstanceは([]、反復処理可能))
プリント(でisinstance(()、反復処理可能))が
印刷(({}でisinstanceを、反復処理可能))
プリント(でisinstance(" ABC " 、反復処理可能))
プリント(でisinstance(( X のための X における範囲(10))、反復可能)) #の発生はイテレート可能オブジェクトである
印刷)でisinstance(10、反復可能)( #の数がイテレート可能オブジェクトではありません
第二に、反復子(イテレータ)
1、定義:発電サイクルで使用することができるだけでなく、()呼び出しは、バーストを呼び出すとStopIteration例外まで、次で常に次の値を返し
2、およびイテレータイテレート可能オブジェクトとの違い:イテレータと反復可能ではない同じ概念、違いは次の関数は(あなたがこのオブジェクトのすべての利用可能な機能を確認するには、dir(オブジェクト)を使用することができます)があるかどうかです。
コレクションをインポートイテレータプリント(でisinstanceは([]、イテレータ))が
印刷((()でisinstanceを、イテレータ))
プリント(でisinstance({}、イテレータ))
プリント(でisinstance(" ABC " 、イテレータ))
プリント(でisinstance(( X のための X における範囲(10))、反復子)) #ジェネレータイテレータ
プリント(でisinstance(10、反復子)) #の数がイテレータオブジェクトでありません
第三に、変換がイテレータオブジェクトと反復の間であってもよい
イテラブルイテレータを変換するために、ITER()関数を使用して、1。
LIST1 = ITER([1,2,3,4,5 ])
プリント(LIST1。__next__ ())
プリント(LIST1。__next__())
2、なぜ、リスト、文字列のように、タプル、このような反復可能なイテレータはないですか?
反復可能オブジェクトは、要素のみの限定された数を表すことができ、およびイテレータでも自然数の集合全体を表すことができ、これらのデータ構造は、すでにそれらに割り当てられたデータを既存している、とイテレータは、プログラムの流れの遅延評価されているので、彼にもデータがない、ので、 。
四つは、Pythonのイテレータ関数は、影をたくさん持っている、いくつかの例を与える内蔵イテレータ
1、サイクル使用される範囲()、実際には、このような範囲とイテレータ、(10000)、代わり要素10000のセットを生成します、構築された次の機能は、個別に生成されました。
file.redelinesファイルと呼ばれる2、()、ファイル内の行のために、リストを返す:、ラインによってイテレータ前方ラインで次の機能を内蔵している
V.概要を:イテレータは、実際には、概念であり、生成アプリケーター。