以下代码:
import numpy as np
x=np.array([1,-1,-1,1])
y = 0.5 * (x + 1)
id(x[0])==id(y[0])
输出为True,但是如果我为x[0]=1212
分配一个新值,那么
id(x[0])==id(y[0])
也是真的。但是x[0]
和y[0]
的值不同。为什么?
答案 0 :(得分:0)
答案在于id本身的定义。
id函数返回的数字是多少?
它是一个整数(或长整数),保证在该生命周期内该对象是唯一且恒定的。" (Python标准库 - 内置函数)一个唯一的编号。没有更多,也没有更少。
根据上述定义,无论其值如何,id都将保持相同。希望对你有帮助。