sizeof
函數在 Python 中并不是內置函數,但我們可以通過 sys.getsizeof()
函數來獲取對象所占用的內存大小。以下是一些使用場景:
sys.getsizeof()
函數,我們可以查看不同類型的對象所占用的內存大小。import sys
# 獲取字符串對象的內存占用
string_memory = sys.getsizeof("Hello, world!")
print(f"Memory used by string: {string_memory} bytes")
# 獲取列表對象的內存占用
list_memory = sys.getsizeof([1, 2, 3, 4, 5])
print(f"Memory used by list: {list_memory} bytes")
import sys
list_memory = sys.getsizeof([1, 2, 3, 4, 5])
tuple_memory = sys.getsizeof((1, 2, 3, 4, 5))
set_memory = sys.getsizeof({1, 2, 3, 4, 5})
print(f"Memory used by list: {list_memory} bytes")
print(f"Memory used by tuple: {tuple_memory} bytes")
print(f"Memory used by set: {set_memory} bytes")
需要注意的是,sys.getsizeof()
函數只返回對象本身所占用的內存大小,而不包括對象中引用的其他對象所占用的內存。因此,在分析復雜對象的內存占用時,可能需要遞歸地計算子對象的內存占用。