<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
<html>
  <head>

    <meta http-equiv="content-type" content="text/html; charset=UTF-8">
  </head>
  <body bgcolor="#ffffff" text="#000000">
    Dear Tutors,<br>
        I noticed that when you make a property to represent a mutable
    value<br>
    <br>
    <b>class Obj(object):<br>
              def get(self):<br>
                      print 'Get'<br>
                      return self.prop<br>
              def set(self, new):<br>
                      print 'Set'<br>
                      self.prop = new<br>
          prop = property(get, set)<br>
      <br>
      test = Obj()<br>
      test.prop = ['Hello']<br>
    </b><br>
    and then try and use one of its methods.<br>
    <br>
    <b>test.prop.append('World')<br>
      <br>
    </b>It will treat it as a get, not a set.<br>
    <br>
    <b>Output: Get<br>
      <br>
    </b>Even thou you are basically changing its value.<br>
    <br>
    <b>Before: ['Hello']<br>
      After: ['Hello', 'World']<br>
      <br>
    </b>I know this happens because I'm not technically setting it to
    something else, just getting one of its properties.<br>
    I was wondering how to make it fire off set to for certain methods.<br>
    <br>
    Sincerely,<br>
        Me<br>
  </body>
</html>