Alex Martelli napisaĆ(a): >> IMHO that's not very consistent. > > How so? Given the lower-level semantics of descriptors (and the > distinction between overriding and non), are you suggesting that > property should not be a type but a factory function able to return > instances of either overriding or non-overriding types? I'm not sure how > that complication would make things "consistent" in your view.
Nothing in property documentation suggest that if you don't define __set__ method, you won't be able to set an attribute. It just states "Return a property attribute for new-style classes". After reading a bit about descriptors I've just assumed that property is a handy way to create (any) descriptors. Learning that it only creates overriding descriptors was a bit shocking. I'm not suggesting it's bad behavior, only that it seemed unexpected for an unaware programmer. What at first glance looked like a shortcut, turned out to be designed for a specific use case. mk -- . o . >> http://joker.linuxstuff.pl << . . o It's easier to get forgiveness for being wrong o o o than forgiveness for being right. -- http://mail.python.org/mailman/listinfo/python-list