Запуск функции при изменении любого свойства объекта с помощью RxPy
В RxPy есть что-нибудь похожее на INotifyPropertyChanged
в.NET Framework упоминается здесь? Я пытаюсь добавить наблюдателя к объекту, чтобы любое свойство объекта изменилось, и будет вызвана функция.
1 ответ
Решение
Попробуйте что-то вроде этого:
class A(object):
def __init__(self):
self._my_attr = None
self.property_changed = Subject()
...
@property
def my_attr(self):
return self._my_attr
@my_attr.setter
def my_attr(self, value):
if value != self._my_attr:
self._my_attr = value
self.property_changed.on_next(('my_attr', value))
a = A()
a.property_changed.subscribe(print)
a.my_attr = 1
a.my_attr = 3