研究ノート(4):イテレーターとジェネレーターの実際の戦闘に関する深い理解へのゼロベースマスターPythonエントリー

今すぐ学ぶ:https : //edu.csdn.net/course/play/26676/399743?utm_source=blogtoedu

1.イテレーター

クラスの特別なメソッド定義:前後にアンダースコアがあります

オブジェクトが反復可能かどうかを判別します:hasattr(xxx、 '__ iter__')

イテレータの最も重要な2つのメソッド:__iter__(反復可能かどうかを判別する)、__ next__(要素を順番に取得する)

 イテレータはメモリを適切に最適化でき、使用した分だけ呼び出すことができるため、一度にメモリに転送する必要はありません。

イテレータライブラリitertoolsを使用する

 2.ジェネレーター

ジェネレーター関数の戻り値は、yieldを使用して結果を返します(通常の関数の戻り値は、return to returnを使用します)。イールドリターンは、リターンの場所で一時停止され、次の呼び出しを待って、一時停止の場所から実行を継続します。リターン後のステートメントは実行されません。

ジェネレータは反復可能であり、反復子オブジェクトでもあります。

ジェネレーターの別の解析方法は、リスト内包のそれと似ており、リストの[]を()に置き換えます

 

おすすめ

転載: blog.csdn.net/weixin_44566432/article/details/107811459