式を直接埋め込む方法が示されています。式をネストすることもできます。この場合もそうですが、ジェネレーター式はジェネレーター関数を簡潔にするための構文であるため、かなり複雑なジェネレーター式が必要になってきた場合は、ジェネレーター関数をそのまま使用したほうが読みやすいコードになることも考えられます。ジェネレーター式を含め、ジェネレーター・オブジェクトを連鎖させることもできます。361]このようなジェネレーターのチェーニングは、強力で効率的なパターンとなります。上記の例では、最初の行でジェネレーター・オブジェクトを定義していますが、オブジェクトの処理はまったく行われません。目のジェネレーター・オブジェクトは、最初のジェネレーター・オブジェクトを参照しますが、これらのオブジェクトの処理はいずれも行われません。この例の場合はリスト・コンストラクターによって完全な繰り返し処理が要求された時点で、すべての処理が行われます。このように必要に応じて繰り返し処理を行うという概念を、遅延評価と呼びます。ジェネレーターやジェネレーター式のチェーニングを使用する際は、繰り返し処理を実際にトリガーするものが必要であることに注意してください。ループを使用してトリガーすることもできます。あらゆる類のジェネレーターをセットアップした後、繰り返し処理をトリガーするのを忘れて、コードが何も処理しない原因に頭を悩ませるのは、よくありがちな過ちです。遅延処理の価値このチュートリアルでは、イテレーターの基礎と、イテレーター、ジェネレーター関数、ジェネレーター式のとりわけ興味深いソースについて説明しました。このチュートリアルに記載したすべてのコードは確かにジェネレーターを使わなくても作成できますが、ジェネレーターの使用方法を学ぶことで、このシリーズで発展させていく概念やデータの処理に対する柔軟かつ効果的な考え方をより理解できるようになります。年分の牛乳を賄うための貯蔵設備を自宅に設けるよりも、一度に必要なだけの牛乳を食料品店から買うほうが理に適っています。これと同じような手法を、開発者は遅延評価と呼んでいます。遅延処理でより大きな重点が置かれるのは、必要なものを必要なときに取得するタイミングです。日おきに食料品店に足を運ぶのであれば、遅延とは呼ぶほどではありません。同様に、ジェネレーターを使用するコードを作成するとなると多少手間がかかり、その作業に手が離せなくなってしまうことさえありますが、その報いは、よりスケーラブルな処理という形で返ってきます。別の重要なステップとして、標準ライブラリーに用意されている多数の素晴らしいツールを学ぶことも欠かせません。それが、このシリーズの次回のチュートリアルで取り上げるトピックです。あなたのアプリケーションをクラウドにコメントコメントを登録するにはサインインあるいは登録してください。