例子:
import sys
class Test():
def __init__(self):
self.a = 'a'
self.b = 'b'
self.c = 'c'
self.d = 'd'
self.e = 'e'
if __name__ == '__main__':
test = [Test() for i in range(100000)]
print(sys.getsizeof(test))
在 Windows 任务管理器中:创建 100000 与 10 的列表时,我得到了约 20 MB 的跳跃。
使用 sys.getsizeoff():对于 100000 的列表,我得到 412,236 字节;对于 10 个列表,我得到 100 个字节。
这似乎非常不成比例。为什么会这样?