Python里面如何查看对象所占用的内存?
这里我们需要使用到Python内置的sys模块,sys模块负责程序与Python解释器的交互,提供了一系列的函数和变量,用于控制Python的运行时环境。
查看对象占用内存字节大小使用到sys模块的getsizeof()方法。
从上面代码中可以看出:
1.getsizeof方法可计算对象所占用内存字节数
2.getsizeof方法只计算对象直接占用的内存,而不计算对象内所引用对象的内存
空对象并不“空”
在Python里面有个None表示什么都不是,大家是否好奇过这个None到底是什么?其实None也是一个对象,其类型为NoneType。我们所熟知空对象还有空字符串,空列表,空字典,空元组。当程序创建一个空对象时,这个空对象是否占用内存呢?
虽然都是空对象,但是这些对象在内存分配上并不为“空”。
天啊!空对象居然占用内存,为什么会这样呢?
除了None对象外,其他空对象都是容器,可以理解为创建这个容器本身就需要占用一定的内存,还有一部分内存是对象在初始化的时候预分配。这就是我们看到的空对象也占用这么大内存原因。
你点的每个在看,我都认真当成了喜欢
领取专属 10元无门槛券
私享最新 技术干货