我遇到了一個對象的初始化問題,以及覆蓋我不想覆蓋的數據的方法。self __init__覆蓋
我很抱歉,如果我的術語不正確,因爲我使用多種編碼語言進行工作,並且往往會在來回跳動時忘記某些術語。
實施例:
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,但它似乎是over-writing self.A.
我該如何解決這個問題?請記住,我需要使用func1來永久更改每個實例中的數據,但不是self.A.
如果我的列表沒有整數索引會怎麼樣?他們是元組。 –