Ho la seguente classe di base:Come funzionano i costruttori di classi derivate in 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))
ora, ho una classe derivata con il seguente codice:
class NeuralNetworkBackPropagation(NeuralNetworkBase):
def __init__(self, numberOfInputs, numberOfHiddenNeurons, numberOfOutputs):
self.outputLayerDeltas = numpy.zeros(shape = (numberOfOutputs))
self.hiddenLayerDeltas = numpy.zeros(shape = (numberOfHiddenNeurons))
Ma quando un'istanza di NeuralNetworkBackPropagation mi piacerebbe che entrambi i costruttori vengono chiamati. Questo è, non voglio sovrascrivere il costruttore della classe base. Python chiama di default il costruttore della classe base quando esegue la classe derivata 'uno? Devo implicitamente farlo all'interno del costruttore della classe derivata?