如何从类b实时

时间:2017-09-29 11:22:30

标签: python computer-science

我现在正在学习python,并将其解决了这个奇怪的问题。我在一个名为A的类中有一个数组,我将该数组用作队列..我想从类B和类C实时访问A类中的数组。例如,如果B类在A类中向该数组添加某些内容,我希望在从C类打印数组时看到C类中的更改

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 个答案:

答案 0 :(得分: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)中,您传递的是一个参数,而它希望您传递两个参数。