Übergeben von Argumenten an den Superklassenkonstruktor, ohne sie im untergeordneten Klassenkonstruktor zu wiederholen

class P(object):
    def __init__(self, a, b):
       self.a = a
       self.b = b
class C(P):
    def __init__(self, c):
       P.__init__()
       self.c = c

obj = C(a, b, c) #want to instantiate a C with something like this

Ich möchte @ definierC class Objekt ohne das ganze @ neu zu schreibP class Konstruktor Argument inC Konstruktor, aber der obige Code scheint nicht zu funktionieren. Was ist der richtige Ansatz dafür?

Klärung

Die Idee ist, zu vermeiden, dass die Konstruktorargumente der übergeordneten Klasse in den Konstruktor der untergeordneten Klasse eingefügt werden. Es wiederholt sich einfach zu viel. Alle meine Eltern- und Kinderklassen haben viele Argumente für Konstruktoren, so dass es nicht sehr produktiv und schwierig ist, sie immer wieder zu wiederholen. Ich versuche herauszufinden, ob ich nur definieren kann, was für die untergeordnete Klasse in ihrem Konstruktor eindeutig ist, aber dennoch geerbte Attribute initialisieren kann.

Antworten auf die Frage(4)

Ihre Antwort auf die Frage