Hi all I have started experimenting with properties.
The example in the 2.5 docs uses an inconsistent mixture of single and double underscores for the internal representation of the attribute. I was going to file a documentation bug, but then I checked the 2.6 docs online, and I see it has been fixed, by using single underscores throughout. IMHO, it would make more sense to use double underscores throughout. I thought that the main point of using property was to prevent direct access to the attribute. With a single underscore you can access it if you prefix the attribute name with a single underscore, thus bypassing the logic in 'property'. Is this a valid comment, or does it come under the category of 'we are all adults here'? While experimenting, I came across the following curiosity. I know that prefixing a class attribute with a double-underscore makes it difficult to access the attribute externally. Here is a simple example - >>>class Test(object): ... def __init__(self,x): ... self.x = x ... self.__y = 123 ... def get_y(self): ... return self.__y >>>t = Test(99) >>>t.x 99 >>>t.get_y() 123 >>>t.__y AttributeError: 'Test' object has no attribute '__y' I was surprised that I could do the following - >>>t.__y = 456 >>>t.__y 456 >>>t.get_y() 123 It's not important, but I am curious to know what is going on internally here. Frank Millman -- http://mail.python.org/mailman/listinfo/python-list