Ich habe die folgende Basisklasse:Wie funktionieren abgeleitete Klassenkonstruktoren 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))
jetzt, ich habe 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 instanziiert Ich möchte, dass beide Konstrukteure aufgerufen. Das heißt, ich möchte den Konstruktor der Basisklasse nicht überschreiben. Ruft Python standardmäßig den Basisklassenkonstruktor auf, wenn er die abgeleitete Klasse 'one' ausführt? Muss ich es implizit innerhalb des abgeleiteten Klassenkonstruktors tun?