如何在 Python 中打印变量的位

How to print a viariable's bits in Python

如果我用 Python 启动终端,然后我写:

>>> x = 100
>>> x == 100
True
>>> x is 100
True

我可以很容易地看出布尔值对 ==is 都适用 但是如果我尝试将 1000 设置为变量结果我有:

>>> x = 1000
>>> x == 1000
True
>>> x is 1000
False

有没有办法让我看看变量是如何一点一点地存储在内存中的?我不想要 memory pointers,我想看看 01 看看 Python 是什么 存储 .

100 适合 8 位八位组,而 1000 不能适合它。 根据我的理解,== 总是给出一个 TRUE,因为它正在 读取一个值 is 正在读取一个 内存 space,所以最终它只读取八位组的前 8 位。

尤里卡! 谢谢大家的帮助!

我现在明白,这不是关于 Python 如何以二进制代码存储信息,而是关于 Python 如何为 -5 到 256(含)范围内的整数存储每个分配的整数对象):

>>> x = 256
>>> y = 256
>>> id(x)
22980640
>>> id(y)
22980640

然后:

>>> x = 257
>>> y = 257
>>> id(x)
23550352
>>> id(y)
23550328