在 Python 中,可以使用 sys.getsizeof()
函數來獲取一個對象的大小(以字節為單位)。這個函數返回指定對象(參數可以是一個變量名或者一個值)在內存中所占的字節數。需要注意的是,這個函數僅返回對象本身的大小,而不是它引用的其他對象的大小。
下面是一個簡單的示例:
import sys
# 獲取一個整數的大小
num = 12345
size_of_num = sys.getsizeof(num)
print(f"Size of {num} is {size_of_num} bytes")
# 獲取一個字符串的大小
text = "Hello, World!"
size_of_text = sys.getsizeof(text)
print(f"Size of '{text}' is {size_of_text} bytes")
# 獲取一個列表的大小
my_list = [1, 2, 3, 4, 5]
size_of_list = sys.getsizeof(my_list)
print(f"Size of {my_list} is {size_of_list} bytes")
請注意,sys.getsizeof()
只計算對象本身的大小,而不是它引用的其他對象的大小。如果你想要計算一個對象及其所有引用的對象的總大小,可以使用 pympler.asizeof
函數。首先,你需要安裝 pympler
模塊:
pip install pympler
然后,你可以使用 pympler.asizeof.asizeof()
函數來計算一個對象及其所有引用的對象的總大小:
from pympler import asizeof
# 創建一個包含多個元素的列表
my_list = [1, 2, [3, 4], "Hello, World!"]
# 計算列表及其所有引用的對象的總大小
total_size = asizeof.asizeof(my_list)
print(f"Total size of {my_list} and its referenced objects is {total_size} bytes")
這將輸出列表及其所有引用的對象的總大小。