首页
学习
活动
专区
工具
TVP
发布
精选内容/技术社群/优惠产品,尽在小程序
立即前往

Python内存分配小秘密,一般人我不告诉他

Python里面如何查看对象所占用的内存?

这里我们需要使用到Python内置的sys模块,sys模块负责程序与Python解释器的交互,提供了一系列的函数和变量,用于控制Python的运行时环境。

查看对象占用内存字节大小使用到sys模块的getsizeof()方法。

从上面代码中可以看出:

1.getsizeof方法可计算对象所占用内存字节数

2.getsizeof方法只计算对象直接占用的内存,而不计算对象内所引用对象的内存

空对象并不“空”

在Python里面有个None表示什么都不是,大家是否好奇过这个None到底是什么?其实None也是一个对象,其类型为NoneType。我们所熟知空对象还有空字符串,空列表,空字典,空元组。当程序创建一个空对象时,这个空对象是否占用内存呢?

虽然都是空对象,但是这些对象在内存分配上并不为“空”。

天啊!空对象居然占用内存,为什么会这样呢?

除了None对象外,其他空对象都是容器,可以理解为创建这个容器本身就需要占用一定的内存,还有一部分内存是对象在初始化的时候预分配。这就是我们看到的空对象也占用这么大内存原因。

你点的每个在看,我都认真当成了喜欢

  • 发表于:
  • 原文链接https://kuaibao.qq.com/s/20191102A0JE0F00?refer=cp_1026
  • 腾讯「腾讯云开发者社区」是腾讯内容开放平台帐号(企鹅号)传播渠道之一,根据《腾讯内容开放平台服务协议》转载发布内容。
  • 如有侵权,请联系 cloudcommunity@tencent.com 删除。

扫码

添加站长 进交流群

领取专属 10元无门槛券

私享最新 技术干货

扫码加入开发者社群
领券