这是密码
import numpy as np
class Test(object):
def __init__(self, x):
self.x = x
def move(self, dx):
self.x += dx
a = Test(x = np.array([6371000.0, 0.0, 0.0])
loc1 = a.x
print loc1
a.move(np.array([-9.81, 0.0, 0.0]))
loc2 = a.x
print loc2
print loc1[0] - loc2[0]
当我运行这段代码(Python2.7)时,我得到:
[6371000。00.]
[6370990.19.0.]。0.]
0.0个
这是因为Python使用对numpy数组的引用。你知道吗
在这行中,您将
loc1
设置为指向a.x
然后
loc2
指向同一数组。你知道吗这就是为什么差别是0.0。你知道吗
如果您想制作数组的副本,那么您可以简单地将它与1.0进行复合。你知道吗
相关问题 更多 >
编程相关推荐