Я хочу реализовать шаблон Observable
в Python для пары рабочих, и наткнулся на этот полезный фрагмент:
class Event(object):
pass
class Observable(object):
def __init__(self):
self.callbacks = []
def subscribe(self, callback):
self.callbacks.append(callback)
def fire(self, **attrs):
e = Event()
e.source = self
for k, v in attrs.iteritems():
setattr(e, k, v)
for fn in self.callbacks:
fn(e)
Источник: Здесь
Насколько я понимаю, для subscribe
мне нужно было бы передать обратный вызов функции, которая будет вызываться на fire
. Если вызывающая функция была методом class
, предположительно, я мог бы использовать self
, но в отсутствие этого - как я мог бы напрямую получить обратный вызов, который может быть полезен для бита self.callbacks.append(callback)
?