[Python-Dev] Declaring setters with getters
Guido van Rossum
guido at python.org
Fri Nov 2 15:19:10 CET 2007
On 11/2/07, Duncan Booth <duncan.booth at suttoncourtenay.org.uk> wrote:
> 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
Sorry, you have just entered Python 4000 territory.
--
--Guido van Rossum (home page: http://www.python.org/~guido/)
More information about the Python-Dev
mailing list