[Python-Dev] read-only properties
John Williams
jrw at pobox.com
Tue Oct 8 16:45:15 EDT 2002
Guido van Rossum wrote:
>>The key seems to be that property() doesn't know the name the
>>property has.
>
>
> Oops, you're right. This makes it practically impossible to improve
> the error message (without the kind of trick that Jeff shows).
>
> --Guido van Rossum (home page: http://www.python.org/~guido/)
>
> _______________________________________________
> Python-Dev mailing list
> Python-Dev at python.org
> http://mail.python.org/mailman/listinfo/python-dev
Why not have the property find its name in the class's __dict__,
something like this:
(in class property)
def __set__(self, obj, value):
if self.fset is not None:
self.fset(obj, value)
else:
for key, value in type(obj).__dict__.iteritems():
if value is self:
raise AttributeError, "Property '" + key + "' is read-only."
# No name? Strange put possible I guess.
raise AttributeError, "can't set property"
More information about the Python-list
mailing list