On 10/31/07, skip at pobox.com <skip at pobox.com> wrote: > > Guido> I've come up with a relatively unobtrusive pattern for defining > Guido> setters. Given the following definition: > > ... > > I'm a pretty naive user of properties, so can you explain to me how what you > propose is better than > > class C(object): > def __init__(self): > self._encoding = None > > def get_encoding(self): > return self._encoding > > def set_encoding(self, value): > if value is not None: > unicode("0", value) # Test it > self._encoding = value > encoding = property(get_encoding, set_encoding) > > ? Mostly so it's easy to add a setter to a property that originally had only a getter. For read-only properties, using @property def name(self): return <whatever> is preferred over def get_name(self): return <whatever> name = property(get_name) > Guido> I'd also like to change property so that the doc string defaults > Guido> to the doc string of the getter. > > How about defaulting it to the first argument to property() which has a doc > string? I considered that briefly, but decided against it -- it could lead to odd results if the getter has no docstring and the setter's docstring is about setting only. -- --Guido van Rossum (home page: http://www.python.org/~guido/)
RetroSearch is an open source project built by @garambo | Open a GitHub Issue
Search and Browse the WWW like it's 1997 | Search results from DuckDuckGo
HTML:
3.2
| Encoding:
UTF-8
| Version:
0.7.4