脚本宝典收集整理的这篇文章主要介绍了

python也可能有内存溢出的类似情况

脚本宝典小编觉得挺不错的,现在分享给大家,也给大家做个参考,希望能帮助你少写一行代码,多一份安全和惬意。

在原生的编译器中,如果进行如下定义
a=1000
b=1000
print id(a),id(b)
会发现,两个的结果是不同的。id()是用来查看对象的内存地址的,如果我们定义大量的int变量,就有了内存溢出的可能性。

查了下,python对于小整数对象,[-5, 257),是预分配内存地址的。如果超出这个范围则使用通用的缓冲池,对于大整数则有PyIntBlock,用来作缓冲池。所以出现了我们上述的现象。

对int类变量值相同的情况,如果使用a=b=1000来定义,id(a)和id(b)的内存地址就是同一个了,可以一定程度上降低溢出的可能。

非原生的编译器中,貌似对上述情况进行过优化。在eclipse中测试,同样值,通常都是同一个内存地址。

自学,最痛苦的就是坚持!

总结

以上是脚本宝典为你收集整理的

python也可能有内存溢出的类似情况

全部内容,希望文章能够帮你解决

python也可能有内存溢出的类似情况

所遇到的程序开发问题,欢迎加入QQ群277859234一起讨论学习。如果觉得脚本宝典网站内容还不错,欢迎将脚本宝典网站推荐给程序员好友。 本图文内容来源于网友网络收集整理提供,作为学习参考使用,版权属于原作者。如您有任何意见或建议可联系处理。小编QQ:384754419,请注明来意。

80%的人都看过