tengo la siguiente clase base:¿Cómo funcionan los constructores de clase derivados en python?
class NeuralNetworkBase:
def __init__(self, numberOfInputs, numberOfHiddenNeurons, numberOfOutputs):
self.inputLayer = numpy.zeros(shape = (numberOfInputs))
self.hiddenLayer = numpy.zeros(shape = (numberOfHiddenNeurons))
self.outputLayer = numpy.zeros(shape = (numberOfOutputs))
self.hiddenLayerWeights = numpy.zeros(shape = (numberOfInputs, numberOfHiddenNeurons))
self.outputLayerWeights = numpy.zeros(shape = (numberOfHiddenNeurons, numberOfOutputs))
ahora, tengo una clase derivada con el siguiente código:
class NeuralNetworkBackPropagation(NeuralNetworkBase):
def __init__(self, numberOfInputs, numberOfHiddenNeurons, numberOfOutputs):
self.outputLayerDeltas = numpy.zeros(shape = (numberOfOutputs))
self.hiddenLayerDeltas = numpy.zeros(shape = (numberOfHiddenNeurons))
Pero cuando instanciar NeuralNetworkBackPropagation me gustaría que los dos constructores las llaman. Esto es, no quiero anular el constructor de la clase base. ¿Pitón llama por defecto al constructor de la clase base cuando ejecuta la clase derivada? ¿Debo hacerlo implícitamente dentro del constructor de clase derivado?