Кажется, это должно быть просто умопомрачительно, но я ничего не нахожу.
С pubsub я могу сделать что-то вроде
class foo():
def __init__(self):
self.blorb = 5
def __setattr__(self, name, value):
pub.sendMessage("foo." + name)
, и тогда любой может сделать
pub.subscribe(myFunction, "foo.blorb")
, чтобы получать уведомления при каждом изменении blorb
.И это единственное определение __setattr__
позволяет мне подписаться на любой возможный член класса, просто установив прослушиватель на соответствующую строку темы.
Но если blorb
- это список, и я хочу получать уведомления, когда какой-либо элемент изменяется или даже подписываться на отдельный элемент списка, есть ли такой же простой способ сделать это?Или мне нужно сделать что-то вроде обтекания списка методами для доступа / изменения элементов?