Python でオブジェクトのサイズを判定するにはどうすればいいですか? 質問する

Python でオブジェクトのサイズを判定するにはどうすればいいですか? 質問する

Python でオブジェクトがメモリ内で占有しているサイズを取得するにはどうすればよいですか?

ベストアンサー1

ただsys.getsizeofモジュールで定義された関数sys

sys.getsizeof(object[, default]):

オブジェクトのサイズをバイト単位で返します。オブジェクトは任意のタイプのオブジェクトにすることができます。すべての組み込みオブジェクトは正しい結果を返しますが、これは実装固有のものであるため、サードパーティの拡張機能には当てはまりません。

オブジェクトに直接関連するメモリ消費量のみが計算され、参照先のオブジェクトのメモリ消費量は計算されません。

引数defaultを使用すると、オブジェクト タイプがサイズを取得する手段を提供しておらず、エラーが発生する場合に返される値を定義できますTypeError

getsizeofオブジェクトの__sizeof__メソッドを呼び出し、オブジェクトがガベージ コレクターによって管理されている場合は、追加のガベージ コレクターのオーバーヘッドを追加します。

見る再帰的なsizeofレシピgetsizeof()コンテナのサイズとそのすべての内容を再帰的に検索する例を示します。

Python 3.0 での使用例:

>>> import sys
>>> x = 2
>>> sys.getsizeof(x)
24
>>> sys.getsizeof(sys.getsizeof)
32
>>> sys.getsizeof('this')
38
>>> sys.getsizeof('this also')
48

Python 2.6未満でない場合はsys.getsizeofこの広範なモジュール代わりに。しかし、一度も使用しませんでした。

おすすめ記事