title: Python Inheritance: Is it necessary to explicitly call the parents constructor and destructor?
body: <p>I have some Code (for ev3dev):</p>
  
  <pre><code>class Motor(object):
      def __init__(self, portName):
          self.base = "/sys/class/tacho-motor/motor"
          self.number = self.getMotorNumberWithSpecificPortName(portName)
          self.name = self.base + str(self.number) + "/"
  
          self.setDefaultValues()
  
      def __del__(self):
          self.callReset()
  
      (...)
  
  class TurnMotor(Motor):
      def __init__(self):
          super(TurnMotor, self).__init__("outA")
  
      def __del__(self):
          super(TurnMotor, self).__del__()
  </code></pre>
  
  <p>The goal is to define multiple motor classes like <code>TurnMotor</code> in this example who inherit from <code>Motor</code> and automatical <code>__init__</code> with their specific port. They also should call the parents <code>__del__</code> method on destruction to reset the motor.</p>
  
  <p>I know that in this case I have to define a <code>__init__</code> method for the subclass to initiate with the port I want but would the parents <code>__del__</code> method still be called from the subclass if I leave out the definition for <code>__del__</code> in the subclass?<br>
  Would this in general be possible for <code>__init__</code> too?</p>
  
  <p>Thanks in advance and sorry if this is a duplicate.</p>