Bruno Desthuilliers wrote: >> And what does property mean anyway? > > See above. A property is a computed attribute : you access it like a > 'data' attribute, but it really uses getters/setters. The point here is > that client code doesn't know nor need to know if it's a plain attribute > or a computed one. This let you change implementation (turn a plain > attribute into a computed one) without breaking the API. So the real > thing is not "don't use getters and setters", but "don't bother with > getters and setters, you'll be able to add them transparently if and > when needed".
Ok great, now I understand. It's nice actually :-) For anyone else trying this for the first time, the following might be interesting, as I had trouble with this at first: Don't forget to derive your class from object, otherwise properties won't work. > As a side node, the getters/setters of a property are often either > marked as implementation (the _leading_underscore convention) or deleted > from the class's dict once the property is created or 'masked' one way > or another so they don't pollute the class's namespace. You mean like manually removed from the dict? Because (at least on the system I tried) it doesn't happen automatically. (Windwos XP, Python 2.5) -- http://mail.python.org/mailman/listinfo/python-list