Pythonでは、オブジェクトの「長さ」を取得するためのlen()関数と、オブジェクトのメモリサイズを取得するためのsys.getsizeof()関数があります。これら二つの関数は、それぞれ異なる目的で使用されます。

len()関数

len()関数は、コンテナ内のアイテムの数を返します。文字列の場合、これは文字の数になります。

x = "abc"
print(len(x))  # 出力: 3

sys.getsizeof()関数

一方、sys.getsizeof()関数は、オブジェクトのメモリサイズをバイト単位で返します。これは、オブジェクトがメモリ上で占めるスペースの大きさを示します。

import sys
x = "abc"
print(sys.getsizeof(x))  # 出力: 52

この例では、文字列xは3文字しかありませんが、そのメモリサイズは52バイトとなります。これは、Pythonの文字列オブジェクトが単なる文字のシーケンス以上の情報を保持しているためです。

まとめ

したがって、len()sys.getsizeof()は全く異なる情報を提供します。len()はコンテナ内のアイテムの数を、sys.getsizeof()はオブジェクトのメモリサイズを提供します。これらの違いを理解することは、Pythonでのメモリ管理と効率的なコード作成に役立ちます。

投稿者 admin

コメントを残す

メールアドレスが公開されることはありません。 が付いている欄は必須項目です