Notice: This page requires JavaScript to function properly.
Please enable JavaScript in your browser settings or update your browser.
学ぶ Pythonにおける遅延評価:メモリとパフォーマンスの最適化 | Pythonにおけるイテレータとジェネレータの習得
/
Python構造化プログラミング

bookPythonにおける遅延評価:メモリとパフォーマンスの最適化

メニューを表示するにはスワイプしてください

この章では、遅延評価の概念を紹介します。遅延評価とは、データが必要になったときにのみ生成され、事前に計算や保存を行わない手法です。遅延評価はイテレータの主要な特徴であり、大規模なデータセットや無限シーケンスを扱う際に特に有用です。

主な利点:

  • メモリ効率: 一度に1つの要素のみ生成;
  • パフォーマンス最適化: 必要なときだけ計算が実行;
  • 無限シーケンスへの対応: メモリ不足を気にせず任意のサイズのシーケンスを扱うことが可能。

ここでは、必要に応じてランダムな出目を生成する無限サイコロロールを作成します。これにより、何回ロールしてもすべての出目をメモリに保存する必要がありません。

12345678910111213141516
import random # Infinite dice roller class InfiniteDiceRoller: def __iter__(self): return self def __next__(self): return random.randint(1, 6) # Using the infinite dice roller dice_roller = InfiniteDiceRoller() for i, roll in enumerate(dice_roller): if i >= 10: # Stop after 10 rolls break print(f"Roll {i + 1}: {roll}")
copy

すべて明確でしたか?

どのように改善できますか?

フィードバックありがとうございます!

セクション 6.  3

AIに質問する

expand

AIに質問する

ChatGPT

何でも質問するか、提案された質問の1つを試してチャットを始めてください

セクション 6.  3
some-alt