sizeof函数在Python内存管理中的应用

avatar
作者
猴君
阅读量:0

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 及其引用的所有对象所占用的内存大小。

广告一刻

为您即时展示最新活动产品广告消息,让您随时掌握产品活动新动态!