I'm trying to implement a simple repeateable property mechansism so I don't have to write accessors for every single instance variable I have. ------------ classMyObject: def __init__ (self): self.initialize()
def initialize(self): self._value=None def _setProperty (self, name, value): print "set property" setattr (self, name, value) def _getProperty (self, name): print "get property" return getattr (self, name) #properties value = property (lambda self: self._getProperty("_value"), lambda self, value: self._setProperty("_value", value)) def testObject(): o = MyObject() print o.__dict__ print o.value o.value = 123 print o.value print o.__dict__ if __name__ == "__main__": testObject() --------- The outout looks like this ------------ {'_value': None} get property None 123 {'_value': None, 'value': 123} ----------- As you can see, the _getProperty() method gets called properly when I do 'o.value' but 'o.value = 123' does not seem to use the property stucture. I can't figure out why 'o.value=123' does not call _setProperty() Any ideas? Jay -- http://mail.python.org/mailman/listinfo/python-list