On Tue, 29 Sep 2009 19:48:51 -0700, Michael George Lerner wrote: > I then use self.selection.get_value() and self.selection.set_value(), > and those two functions are the only ways in which I care about > self.selection. I've never really used properties, getters or setters > before. I tried this, but it didn't work: > > def __init__(self): > self._selection = Pmw.EntryField(group.interior(), > labelpos='w', > label_text='Selection to use: > ', > value='(polymer)', > ) > self.selection = property(self._selection.get_value > (),self._selection.set_value())
property() only works if the property is defined in the *class*, not the instance. In other words, this will work: class K(object): def _parrot_getter(self): return "Norwegian %s" % self._colour parrot = property(_parrot_getter) def __init__(self, colour="Blue"): self._colour = colour But this will not: class K(object): def _parrot_getter(self): return "Norwegian %s" % self._colour def __init__(self, colour="Blue"): self._colour = colour parrot = property(_parrot_getter) -- Steven -- http://mail.python.org/mailman/listinfo/python-list