浅析Python 中整型对象存储的位置

yipeiwu_com6年前Python基础

在 Python 整型对象所存储的位置是不同的, 有一些是一直存储在某个存储里面, 而其它的, 则在使用时开辟出空间.

说这句话的理由, 可以看看如下代码:

a = 5
b = 5
a is b # True

a = 500
b = 500
a is b # False

由上面的代码可知, 整型 5 是一直存在的, 而整型 500 不是一直存在的.

那么有哪些整数是一直存储的呢?

a, b, c = 0, 0, 0
while a is b:
i += 1
a, b = int(str(i)), int(str(i))
else:
print(i) # 打印 257

由上所知, 小于或等于 256 (2**8) 的非负整数是一直存储的

a = -1
b = -1
a is b # False

而负数不会一直存储.

以上这篇浅析Python 中整型对象存储的位置就是小编分享给大家的全部内容了,希望能给大家一个参考,也希望大家多多支持【听图阁-专注于Python设计】。

相关文章

详解Python的Django框架中Manager方法的使用

在语句Book.objects.all()中,objects是一个特殊的属性,需要通过它查询数据库。 在第5章,我们只是简要地说这是模块的manager 。现在是时候深入了解manage...

Python实现Singleton模式的方式详解

前言 使用python实现设计模式中的单例模式。单例模式是一种比较常用的设计模式,其实现和使用场景判定都是相对容易的。本文将简要介绍一下python中实现单例模式的几种常见方式和原理。一...

Python过滤函数filter()使用自定义函数过滤序列实例

filter函数: filter()函数可以对序列做过滤处理,就是说可以使用一个自定的函数过滤一个序列,把序列的每一项传到自定义的过滤函数里处理,并返回结果做过滤。最终一次性返回过滤后的...

python 实现二维字典的键值合并等函数

这篇文章主要讲python中关于字典的一些具体操作,讲解的问题都是本人在实际编程中所遇到的问题,读者可以根据自己所遇到的问题具体问题具体分析。 (1) 二维字典的键值合并: 先提供一个应...

python 解决cv2绘制中文乱码问题

python 解决cv2绘制中文乱码问题

因为使用cv2.putText() 只能显示英文字符,中文会出现乱码问题, 因此使用PIL在图片上绘制添加中文,可以指定字体文件。 大体思路: OpenCV图片格式转换成PIL的图片格式...