title: Looking for a solution to detect value change in class attribute with a list and append
body: <p>Looking for a solution to detect value change when I do : class_instance.list.append(value).
  I wrote a little example to illustrate my problem.</p>
  
  <pre><code>class Foo(object):
  
      def __setattr__(self, key, value):
          print('set -&gt; ', key, value)
          self.__dict__[key] = value
  
  if __name__ == '__main__':
      f = Foo()
      #set/change detected
      f.bar = ['foo']
  
      # change not detected
      f.bar.append('bar')
  
      #change detected
      f.bar = ['foo', 'bar']
  </code></pre>
  
  <p>Thank you for your help.</p>