Python 从另一个类中的函数获取返回

Python 从另一个类中的函数获取返回,python,Python,我想得到一个返回值,它会由于触发的事件而更改该值。 像这样: 之所以使用while,是因为我需要在服务器中动态地使用这两个值。 但直到现在,类B中的my valueFromA仍然为0,无论是否触发。似乎在对象的另一个实例上调用了.logic(),而不是试图从中检索值的实例。要从同一实例检索该值,可以将其作为变量传递到另一个类的作用域中。有关更多信息,请查看 下面,我写了一个如何实现这一点的小例子: class A: def __init__(self): self.ev_nearby

我想得到一个返回值,它会由于触发的事件而更改该值。 像这样:

之所以使用while,是因为我需要在服务器中动态地使用这两个值。 但直到现在,类B中的my valueFromA仍然为0,无论是否触发。

似乎在对象的另一个实例上调用了
.logic()
,而不是试图从中检索值的实例。要从同一实例检索该值,可以将其作为变量传递到另一个类的作用域中。有关更多信息,请查看

下面,我写了一个如何实现这一点的小例子:

class A:
  def __init__(self):
    self.ev_nearby = 0

  def changeValue(self):
     self.ev_nearby = 1
     return self.ev_nearby

  # I want this value in class B
  def getChangedValue(self):
     return self.ev_nearby

  def logic(self):
      while(somethingHappens) {
         self.changeValue()
      }
  # logic is called in another class

class B:
  # I want the value here like
  def getValueFromA(self, A):
     valueFromA = A.getChangedValue()
     return valueFromA

class C:
  A = A()
  A.logic()
  B = B()
  B.getValueFromA(A)

这里
class B:A=A()#我希望这里的值像valueFromA=A.getChangedValue(self)
您不必将“self”作为A.getChangedValue的参数,您是否执行了方法来更改此值?在示例中,我找不到它的使用位置。在我看来,“self”调用“A.getChangedValue(self)”是不必要的。@Ghorich-okey,那么我如何在同一个实例上调用它呢?因为@Ghorich注意到负责更改值的逻辑在其他类/实例中使用。在类B中使用此逻辑或使变量全局(?)无论如何,A=A()至少是一种反模式:将类隐藏在同名对象后面。不要。不要这样。我看到你的答案有点晚了,但是根据上面的建议,我已经完全解决了这个问题!现在它工作得很好。谢谢!:-)
class A:
  def __init__(self):
    self.ev_nearby = 0

  def changeValue(self):
     self.ev_nearby = 1
     return self.ev_nearby

  # I want this value in class B
  def getChangedValue(self):
     return self.ev_nearby

  def logic(self):
      while(somethingHappens) {
         self.changeValue()
      }
  # logic is called in another class

class B:
  # I want the value here like
  def getValueFromA(self, A):
     valueFromA = A.getChangedValue()
     return valueFromA

class C:
  A = A()
  A.logic()
  B = B()
  B.getValueFromA(A)