Re: inheritance and how to use it

Discussion in 'Python' started by Dave Angel, Feb 15, 2013.

  1. Dave Angel

    Dave Angel Guest

    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
     
    Dave Angel, Feb 15, 2013
    #1
    1. Advertising

Want to reply to this thread or ask your own question?

It takes just 2 minutes to sign up (and it's free!). Just click the sign up button to choose a username and then you can ask your own questions on the forum.
Similar Threads
  1. maxw_cc
    Replies:
    1
    Views:
    3,201
    Martijn van Steenbergen
    Dec 21, 2003
  2. cppsks
    Replies:
    0
    Views:
    857
    cppsks
    Oct 27, 2004
  3. karthikbalaguru
    Replies:
    9
    Views:
    1,072
  4. Lacrima
    Replies:
    43
    Views:
    855
    Mark Lawrence
    Aug 2, 2010
  5. Rouslan Korneychuk
    Replies:
    8
    Views:
    627
    Rouslan Korneychuk
    Feb 10, 2011
Loading...

Share This Page