我在初始化对象以及覆盖我不想覆盖的数据的方法时遇到问题。
如果我的术语不正确,我深表歉意,因为我在工作中使用多种编码语言,并且在来回弹跳时往往会忘记一些术语。
例子:
class SR(object):
def __init__(self,arg1):
...some code with arg1...
...import some stuff into a,b,c,d,e...
self.A = array([a,b,c,d,e)]
print self.A
self.B = self.func1(self.A)
print self.A
print self.B
def func1(self,arg2):
arg2[:,:] += ...some math...
arg2[:,:] *= ...more math...
arg3 = ...total of some stuff in arg2...
return arg3
def func2(self,arg4):
...use func3...
...use func1...
return arg5
def func3(self,arg4):
return arg6
def func4(self,arg7):
...output some stuff...
instance = SR(2012)
data = {...numbers...}
X = instance.func2(data)
instance.func4('label1')
data = {...numbers...}
X = instance.func2(data)
instance.func4('label2')
data = {...numbers...}
X = instance.func2(data)
instance.func4('label3')
data = {...numbers...}
X = instance.func2(data)
instance.func4('label4')
data = {...numbers...}
X = instance.func2(data)
instance.func4('label5')
印刷:
[a,b,c,d,e]
[a,not_b,not_c,d,not_e]
[sum-of-a-not_b-not_c-d-not_e]
问题:
打印的第二行应该看起来像第一行。我希望能够更改 self.A 中的值,但我不想永久更改它们。我认为 func1 只会接收到 self.A 的引用或指针,但它似乎覆盖了 self.A。
我该如何解决?
请记住,我需要使用 func1 来永久更改每个实例中的数据,而不是在 self.A 中。