2017-09-29 48 views
0

我正在學習python,並將它帶入這個奇怪的問題。我有一個名爲A的類中的數組,我使用該數組作爲隊列..我想從類B和類C實時訪問類A中的數組。例如,如果B類增加了一些在一類陣列我想看看在C類這種變化,當我從C類如何從類b訪問位於類a中的數組realtime

class a: 
    array = [1,2] 
def return_array(self) : 
    return self.array 
def add_to_array(val) 
    self.insert(val,0) 

class b: 
    def b(self) : 
    d = a() 
    d.add_to_array(0) 

ci=b() 
b. b() 

class c: 
    def __init__(self) : 
    cd = a() 
    print(cd.return_array() 
    #prints [] I want it to print [0,1,2] 
c=c() 

打印陣列我想它的實時。因爲其他類有,看看發生了什麼事情在

+1

輸入?期望的輸出?碼? – schwobaseggl

+1

已更新@schwobaseggl – user2967888

回答

0

您需要修改代碼以這樣的:

class a: 
    array = [1,2] 
def return_array(self): 
    print(self.array) 
def add_to_array(self, val): 
    a.array.insert(0,val) 

class b(a): 
    pass 

ab = b() 
ab.add_to_array(0) 

class c(a): 
    pass 

ac = c() 
ac.return_array() 

說明:需要改變到指定代碼 self.insert()功能,數據成員你指的是在課堂上。

此外,在Python: my_object.method("foo")被解釋爲MyClass.method(my_object, "foo") 因此,在d.add_to_array(0)要傳遞一個參數,而它希望你傳遞兩個參數。

相關問題