Private attribute
Ken Starks
straton at lampsacos.demon.co.uk
Mon Aug 25 15:09:36 EDT 2008
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?
>
> ####################
>
> def __getattr__(self,attrname):
> if attrname == 'gridsize':
> return 0.8
>
> def __setattr__(self,attrname,value):
> if attrname == 'gridsize':
> pass
> else:
> self.__dict__[attrname]=value
>
> #####################
>
>
> Cheers,
> Ken.
Perhaps I should mention the alternative I had in mind:
###################
class xyz:
def __init__(self):
self.__dict__['a'] = 123
self.b=456
def __setattr__(self,attrname,value):
if attrname == 'a':
pass
else:
self.__dict__[attrname]=value
# __getattr__() not redefined.
############################
More information about the Python-list
mailing list