2017-09-29 8 views
0

私は今、Pythonを学んでいます。この奇妙な問題に抱いています。私はAという名前のクラスに配列を持っていますが、その配列をキューとして使用しています。クラスBからクラスAに配列にアクセスし、クラスCでリアルタイムにアクセスしたいと思います。クラスBは、クラスAにその配列に何かを追加した場合、私は、クラスCから配列を印刷するときたとえば、私は、クラスCでその変化を見てみたかったクラスaにある配列にリアルタイムでアクセスする方法

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() 

私はそれがリアルタイムたいです。

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()機能を指定するように変更する必要のあるデータメンバーを他のクラスは、あなたがこのようにコードを変更する必要があること

+1

入力?望ましい出力?コード? – schwobaseggl

+1

@schwobaseggl更新 – user2967888

答えて

0

で何が起こっているかを見るために持っているのであなたはクラスで言及しています。

はまた、Pythonで: my_object.method("foo")は、それはあなたが2つのパラメータを渡すことを期待に対しd.add_to_array(0)に使用すると、1つのパラメータを渡しているので、MyClass.method(my_object, "foo") として解釈されます。

関連する問題