Python 2.7 Python 2.7:id()内置函数奇怪的行为

Python 2.7 Python 2.7:id()内置函数奇怪的行为,python-2.7,Python 2.7,id()发生了什么?我有以下代码: a = np.asarray([1,2,3]) b = np.asarray([4,5,6]) c = np.asarray([a, b]) id_1 = id(c[0][0]) id_2 = id(a[0]) id_3, id_4 = id(c[0][0]), id(a[0]) id_1和id_2不同,但id_3和id_4相同。我正在使用Python 2.7 有人能解释这种行为吗? 对不起,我说的是英语。来自文档: CPython实现细节:这是内存中对

id()
发生了什么?我有以下代码:

a = np.asarray([1,2,3])
b = np.asarray([4,5,6])
c = np.asarray([a, b])
id_1 = id(c[0][0]) 
id_2 = id(a[0]) 
id_3, id_4 = id(c[0][0]), id(a[0])
id_1
id_2
不同,但
id_3
id_4
相同。我正在使用Python 2.7

有人能解释这种行为吗? 对不起,我说的是英语。

来自文档:

CPython实现细节:这是内存中对象的地址

这让我觉得每个构建都可以以不同的方式处理这个函数。对于Cpython,它是内存中的地址

看起来你正在使用numpy。我猜c实际上包含数组a和b的副本。这意味着id_1和id_2是不同的。类似地,我期望
id\u1==id\u3
id\u2==id\u4

我为所有4个都获得了相同的id(cpython3.5numpy1.9.3)。你有什么不同的做法?