python吃内存吗_Python内存分配小秘密,一般人我不告诉他

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

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

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

1ae15afd8be855b65b25b2f6e1896877.png

从上面代码中可以看出:

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

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

空对象并不“空”

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

0f6f13203aada4cd4bc53ee93e7715aa.pngPython内存分配小秘密

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

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

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

好啦,本次文章就先介绍到这里,想学习更多关于python干货、技能的你,关注我们的搜狐号,带你飞︿( ̄︶ ̄)︿返回搜狐,查看更多

责任编辑:

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值