On Mon, 25 Aug 2008 19:47:38 +0100, Ken Starks wrote: > I have a class with an attribute called 'gridsize' and I want a derived > class to force and keep it at 0.8 (representing 8mm). > > Is this a correct, or the most pythonic approach?
Others have already suggested using a property, but I'll suggest that the most Pythonic approach is not to be so dogmatic about trying to force it to stay at 0.8. Maybe *you* will never want it to change, but can you be sure that those calling your class will never want a 9mm grid? I'd suggest marking it private by convention: def SomeClass(object): _gridsize = 0.8 The leading underscore tells callers that they change the attribute at their own risk. An even more Pythonic approach is to write your class that makes no assumptions about gridsize, and thus explicitly supports any reasonable grid size. -- Steven -- http://mail.python.org/mailman/listinfo/python-list