2017-09-29 45 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)要传递一个参数,而它希望你传递两个参数。

相关问题