Code: Alles auswählen
class A:
def __init__(self, spam, eggs=None):
print spam, eggs
Ich möchte aber nicht den ganzen Konstruktor neu schreiben, sondern den der Basesclass aufrufen, nur eben mit einem Argument. Ich dachte an sowas hier, aber das ruft den Konstruktor unendlich oft auf:
Code: Alles auswählen
class B(A):
# override constructor, `eggs` cannot be specified
def __init__(self, spam):
self.__init__(spam)
P.S. Nun könnte man ja im Anschluss `eggs` trotzdem noch überschreiben. Kann ich das verhindern, indem ich sowas wie eine "protected" Variable benutze, die von der Subclass nicht überschreibbar ist`, also z.B. `__eggs` (ich weiß, überschreiben ginge dann noch durch `B._B__eggs`)?