On 02/15/2013 11:59 AM, Bob Brusa wrote:
Hi,
I use a module downloaded from the net. Now I want to build my own class, based
on the class SerialInstrument offered in this module - and in my class I would
like to initialize a few things, using e. g. the method clear() offered by
SerialInstrument. Hence I type:

class myClass(SerialInstrument)
      self.clear(self)
      def f1(self, str1, str2)
          ...do something etc.

I then get the message "self not know" from the statement self.clear(self). I
have tried many other notations - none worked. What works is however the
following code - specifying myClass without the self.clear(self) in it:

x = myClass("argument")
x.clear()

How can I integrate this call into the definition of myClass? Thanks for advice.
Bob




By initialize, I'll assume you want this code to execute when your class is instantiated. The way to do that is with a method called __init__(). Notice the double underscore at begin and end.

class myClass(SerialInstrument):
    def __init__(self):
        self.val1 = 42
        self.val2 = 31
        #...   also initialize the base class
        self.clear()

    def f1(self, str1, str2):
            ....

You should also call the __init__() method of the base class. But I don't know whether you're using Python2 or Python3, so I won't write that call

This is without knowing anything about your base class, so there may be many other adjustments to be made.




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

Reply via email to