Как передать функции в класс для установки в качестве переменных класса? Получаю ошибку "не вызывается" - PullRequest
0 голосов
/ 24 марта 2020

Я пытаюсь обернуть объект слушателя, который принимает функции обратного вызова, своим собственным объектом, который проверит некоторые условия и вызовет переданные функции обратного вызова в зависимости от условий. Разве python не позволяет передавать функции в классы и устанавливать их как переменные класса?

Это то, что я хотел бы сделать, но я получаю не вызываемую ошибку:

class Wrapper:
  def __init__(fun1, fun2):
    self.fun1 = fun1
    self.fun2 = fun2
    self.listener = None

  def _fun1:
    if condition1:
      self.fun1()

  def _fun2:
    if condition2:
      self.fun2()

  def GetListener():
    return module.Listener(callback1=self._fun1, callback2=self._fun2)

Я понимаю, что python не рассматривает переменные класса как функции, но как еще мне обернуть функции обратного вызова? Я знаю, что смогу сделать это на других языках программирования.

Спасибо за любую помощь!

...