sizeof
函數在 Python 中并不是一個內置函數,但你可以使用 sys.getsizeof()
函數來獲取對象占用的內存大小。sys.getsizeof()
函數返回指定對象(參數可以是一個字符串、元組、列表等)在內存中所占的字節數。
下面是一個簡單的例子:
import sys
# 獲取一個整數的內存大小
num = 42
print(f"Memory size of {num}: {sys.getsizeof(num)} bytes")
# 獲取一個字符串的內存大小
string = "Hello, world!"
print(f"Memory size of '{string}': {sys.getsizeof(string)} bytes")
# 獲取一個列表的內存大小
lst = [1, 2, 3, 4, 5]
print(f"Memory size of {lst}: {sys.getsizeof(lst)} bytes")
需要注意的是,sys.getsizeof()
只返回對象本身占用的內存大小,而不是對象引用的其他對象所占用的內存。如果你想要計算一個對象及其引用的所有對象所占用的內存大小,可以使用第三方庫 pympler.asizeof
。
安裝 pympler
:
pip install pympler
使用 pympler.asizeof.asizeof()
函數:
from pympler import asizeof
lst = [1, 2, [3, 4], 5]
print(f"Memory size of {lst} and its referenced objects: {asizeof.asizeof(lst)} bytes")
這將會返回列表 lst
及其引用的所有對象所占用的內存大小。