Wie funktionieren abgeleitete Klassenkonstruktoren in Python?

Ich habe folgende Basisklasse:

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))

Jetzt habe ich eine abgeleitete Klasse mit dem folgenden Code:

class NeuralNetworkBackPropagation(NeuralNetworkBase):
    def __init__(self, numberOfInputs, numberOfHiddenNeurons, numberOfOutputs):
        self.outputLayerDeltas = numpy.zeros(shape = (numberOfOutputs))
        self.hiddenLayerDeltas = numpy.zeros(shape = (numberOfHiddenNeurons))

Aber wenn ich NeuralNetworkBackPropagation instanziiere, möchte ich, dass beide Konstruktoren aufgerufen werden. Das heißt, ich möchte den Konstruktor der Basisklasse nicht überschreiben. Ruft Python standardmäßig den Konstruktor der Basisklasse auf, wenn die abgeleitete Klasse 'one' ausgeführt wird? Muss ich das implizit im abgeleiteten Klassenkonstruktor tun?

Antworten auf die Frage(2)

Ihre Antwort auf die Frage