Python基础滚固(一)之 小整数池 与 大整数池

通过2周时间的学习,Python基础已经学完了。对于我这样年纪略大的人,而且又是零基础的人来说,计算机编程语言中Python是很适合我这类人通过业务时间去学习的。

温故而知新,虽然学完了基础知识,但是总感觉很多细枝末节的知识点掌握得还不是很牢固,所以重新再学一遍,把一些自学中忽略的,还不是很牢固的知识点梳理记录,以便今后参考。

发现的问题:

 1 a = 1000
 2 b = 1000
 3 
 4 a == b #判断变量a b 的值是否相等
 5 >>True
 6 a is b #判断变量 a b 是否是同一个
 7 >>False
 8 
 9 c = 100
10 d = 100
11 
12 c == d
13 >>True
14 c is d
15 >>False
变量ab cd 进行了同样的判断操作,显示结果却不一样,这里就涉及到了 Python 中的小整数池 与 大整数池 的设定。

Python 会划分一个内存区域以存放经常使用的整数,整数的范围为 [-5,256],这些整数被称为小整数,程序初始化的时候,就被Python在内存中储存在一个固定的小整数池中。

所以,这些-5至256的整数,均有一个固定的内存地址,而超出此范围内的整数,被定义为大整数,没有固定的内存地址。

新的疑问:

Python这样做不是占用了内存空间了吗?难道不是在浪费内存?不过细想下来,300个数字都不到的储存量,对于现在的电脑内存的储存量来说,真的太小了,小到可以忽略不计。

猜你喜欢

转载自www.cnblogs.com/yydada/p/11668462.html