如何在Python中使用sizeof函数获取对象大小

avatar
作者
猴君
阅读量:0

在 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") 

这将输出列表及其所有引用的对象的总大小。

广告一刻

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