[Python-Dev] Declaring setters with getters (original) (raw)

Duncan Booth duncan.booth at suttoncourtenay.org.uk
Fri Nov 2 11:22:13 CET 2007


Greg Ewing <greg.ewing at canterbury.ac.nz> wrote:

Fred Drake wrote:

@property def attribute(self): return 42

@property.set def attribute(self, value): self.ignored = value Hmmm... if you were allowed general lvalues as the target of a def, you could write that as def attribute.set(self, value): ... Dotted names would be sufficient rather than general lvalues.

I like this, I think it looks cleaner than the other options, especially if you write both getter and setter in the same style:

attribute = property()

def attribute.fget(self):
    return 42

def attribute.fset(self, value):
    self._ignored = value


More information about the Python-Dev mailing list