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.


############################
--
http://mail.python.org/mailman/listinfo/python-list

Reply via email to