什么位于python3中的指定地址?

时间:2017-09-04 00:51:10

标签: python memory-address

python3
Python 3.4.2 (default, Oct  8 2014, 10:45:20) 
[GCC 4.9.1] on linux
Type "help", "copyright", "credits" or "license" for more information.
>>> x=1
>>> id(1)
10771520
>>> id(x)
10771520
>>> x=2
>>> id(2)
10771552
>>> id(x)
10771552

如何知道位于指定地址10771551的内容?
地址10771551是空的,没有,只是浪费了?

1 个答案:

答案 0 :(得分:0)

存储器地址(比如10771520)对应于一个字节(8位,或8个0和1)。 1和2的类型为int,占用两个字节。当您请求内存地址为1时,它返回第一个字节的地址(两个字节)。

00000000 00000001        00000000 00000010      information at memory address (in binary)
   |        |               |        |
   |        |               |        |
10771520 10771521        10771522 10771523      memory address

存储在10771520的信息实际上是00000000,而在10771521,它是00000001,但操作系统知道10771520处的字节只是2的第一个字节,所以它返回10771520和10771521在一起。