【Python3.x】__class__::__sizeof__()メソッドの使い方
__sizeof__メソッドの使い方について、初心者にもわかりやすく解説します。
作成日: 更新日:
基本的な使い方
__sizeof__メソッドは、オブジェクトがプログラム上で占めるメモリのサイズをバイト単位で返すメソッドです。このメソッドはPythonの全てのオブジェクトに組み込まれており、オブジェクトが内部的にどれくらいのメモリを使用しているかを調べたいときに利用されます。
具体的には、オブジェクト自身の属性や構造などを格納するために必要なメモリ量を整数値として返します。このとき返されるサイズは、そのオブジェクトが「直接」保持しているメモリの量であり、そのオブジェクトが「参照している」他のオブジェクトが占めるメモリのサイズは含まれません。この特性から、__sizeof__メソッドが返す値は「浅いサイズ」と呼ばれることがあります。
例えば、あるリストオブジェクトに対して__sizeof__を呼び出すと、リストそのものの構造や、リストの要素への参照を格納するために必要なメモリサイズが返されますが、リストに含まれる個々の要素オブジェクト自体のサイズは計算に含まれません。
このメソッドは、プログラムのメモリ使用量を詳細に分析したり、メモリリークのデバッグを行ったりする際に非常に役立ちます。特に、大量のオブジェクトを扱うアプリケーションにおいて、どのオブジェクトがメモリを多く消費しているかを特定する手がかりとなるため、システムエンジニアがリソース効率を最適化する上で重要なツールの一つです。
構文(syntax)
1string_object = "Hello, Python!" 2memory_size_in_bytes = string_object.__sizeof__()
引数(parameters)
self, /
- self: オブジェクト自身
戻り値(return)
int
このメソッドは、オブジェクトのメモリ上のサイズをバイト単位で整数として返します。