和文档:
iter(object[, Sentinel])
Return イテレータオブジェクト。最初の引数は、2 番目の引数の有無に応じて大きく解釈されます。 2 番目の引数がない場合、object は反復プロトコル (iter() メソッド) をサポートするコレクション オブジェクトであるか、シーケンス プロトコル (0 から始まる integer 引数を持つ getitem() メソッド) をサポートするコレクション オブジェクトである必要があります。これらのプロトコルのいずれもサポートしていない場合は、TypeError が発生します。 2 番目の引数 Sentinel が指定されている場合、object は呼び出し可能なオブジェクトである必要があります。この場合に作成された反復子は、for each 呼び出しの next() メソッドに対して、引数なしでオブジェクトを呼び出します。返された値が Sentinel と等しい場合は StopIteration が発生し、それ以外の場合は値が返されます。
iter() の 2 番目の形式の便利な応用の 1 つは、特定の行に達するまで file の行を読み取ることです。次の例では、readline() メソッドが空の string を返すまでファイルを読み取ります。パラメータが提供されない場合、最初のパラメータは、可代荏议 (つまり现了 iter() メソッド) のセット (字典、集合、不可变集合)、またはサポートする順序列荏议 (つまり实现了 getitem() メソッド、メソッドは、0 から始まる整数パラメータ) のシーケンス (元組、列表、
文字列) を受け取り、それが問題になるかどうかを確認します。作成された継続オブジェクトは、次のメソッドを使用するときに、この被調整可能オブジェクトを使用して調整され、値とセンチネル値が返されると、StopIteration が発生して、繰り返しが終了します。
以上がPython の組み込み iter 関数の詳細な紹介の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。