当对象的任何 属性 随 RxPy 发生变化时触发一个函数

Trigger a function when any property of an object changes with RxPy

在RxPy中,有没有类似INotifyPropertyChanged在.NET framework中提到的here?我正在尝试向一个对象添加一个观察者,以便对象的任何 属性 发生变化时,都会调用一个函数。

尝试这样的事情:

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