我有一个类,我在其中定义了一个numpy数组,然后创建了该类的一个对象的副本:
import numpy as np
import copy as cp
class Test():
x=5
arr=np.array([5,3])
TEST_1=Test()
TEST_2=cp.copy(TEST_1)
如果我改变了TEST_1的x值,这是可以的,它不会影响TEST_2:
print(TEST_2.x)
TEST_1.x+=1
print(TEST_2.x)
>>>5
>>>5
但是如果我试图改变TEST_1的数组,它也会改变TEST_2的数组:
print(TEST_2.arr)
TEST_1.arr+=np.array([1,1])
print(TEST_2.arr)
>>>[5 3]
>>>[6 4]
我知道这是因为我必须创建数组的副本,但我不知道如何告诉Python,当数组在类中时,要这样做。
谢谢你,抱歉英语不好。
1条答案
按热度按时间vsdwdz231#
好吧,我设法解决了它,我这样做:
现在副本的数组不会改变