what is wrong with this property setter
Peter Otten
__peter__ at web.de
Thu Jun 9 05:00:45 EDT 2016
Nagy László Zsolt wrote:
>
>>> @parent.setter
>>> def set_parent(self, new_parent):
>>> self._parent = new_parent
>> This creates a settable property with the name "set_parent" and leaves
>> the read-only property "parent" alone.
> Yes, and more. That property will also have a get method! Is it
> intentional?
It's a logical effect of how the setter() method works. The above is
syntactic sugar for
def set_parent(...):
...
set_parent = parent.setter(set_parent)
and parent.setter() creates a new property basically like this
def setter(self, fset):
return property(self.fget, fset, ...)
Not very elegant, but I don't see a cleaner alternative.
More information about the Python-list
mailing list