<!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>