当数字较大时,e和f只是值相等 不指向同一块内存空间
e=999999999
f=999999999
当数字较大时,e和f只是值相等 不指向同一块内存空间
问题1:这里说的数字较大的界定是多少
问题2:居然数字都较大了在一块内存空间不是更节约资源吗?为什么还要再开辟一块内存空间呢
6
收起
正在回答 回答被采纳积分+1
1回答
好帮手乔木
2019-10-08 15:19:39
同学你好:
整数对象缓存池
对于【-5,256】中的小整数,系统已经提前分配好了,可以直接拿来用,而对于其他的大整数,python会在内存池中为其分配一块小于256k大小的内存。这样,对于小整数,我们每次的引用都是引用的同一个对象,他们的内存地址是一样的,而对于大整数,每次赋值引用都是引用的不同的对象,他们的内存地址不一样。
关于为什么小的数字有缓冲池:如果单独为一个小整数创建一个对象,10个地方用到这个小整数,那么就会在内存中创建10个存储的内存地址的空间,地址占用的数据长度比数据本身还大这样非常不划算。而有这个缓存池,python解释器内部就会共享这个小整数对象,不去开内存空间。从而减少内存的使用率,降低浪费。如果对大的数字开辟缓存池,又会造成浪费(数字是无穷无尽的,无法确定值的范围)。
如果我解决了同学的问题,请采纳!学习愉快^_^。
1.Python零基础入门
- 参与学习 人
- 提交作业 2727 份
- 解答问题 8160 个
想要进入Python Web、爬虫、人工智能等高薪领域,你需要掌握本阶段的Python基础知识,课程安排带你高效学习轻松入门,学完你也能听得懂Python工程师的行业梗。
了解课程
恭喜解决一个难题,获得1积分~
来为老师/同学的回答评分吧
0 星