Ich habe super (), das Klassen in Python erbt, jedes Mal neu untersucht, wenn es herauskommt, also werde ich klären, wie man es benutzt.
Wird zum Erben der übergeordneten Klasse verwendet
class Parent():
def __init__(self, plus):
self.min = 20
self.plus = plus
def plus(self):
age = self.min + self.plus
return age
class Child(Parent):
def __init__(self):
self.plus = 8
Selbst wenn Sie in diesem Zustand "(). Plus ()" ausführen, wird "init" der "Klasse Parent" überschrieben ("self.min" verschwindet), was zu einem Fehler führt.
Wenn Sie Folgendes tun, ist dies daher ein Grund, das __init __
der übergeordneten Klasse zu erben.
class Parent():
def __init__(self, plus):
self.min = 20
self.plus = plus
def plus(self):
age = self.min + self.plus
return age
class Child(Parent):
def __init__(self):
super().__init__(plus)
self.plus = 8
Der Wert von "self.min" wird vererbt und kann den Wert von 28 ausgeben
__init__
nach super ()
?Nach "super ()" muss es nicht "init" sein, sondern nur eine Methode der übergeordneten Klasse.
class Parent():
def message(self, text):
print('your name is: {}'.format(text))
class Child(Parent):
def message(self):
print('your friend is: {}'.format(text))
super().message(text)
super ()
Unterschied zwischen Python2-Serie und 3-Serie
__python2 series __
super (Name der übergeordneten Klasse, self). Methode der übergeordneten Klasse
__python3 series __
super (). Übergeordnete Klassenmethode
Das obige scheint Standard zu sein
__init__ ()
Beschrieben im Kommentar im vorherigen Beispiel
class Parent():
def __init__(self, plus):
self.min = 20
self.plus = plus
def plus(self):
age = self.min + self.plus
return age
class Child(Parent):
#selbst und super()Drin()Beschreiben Sie die in verwendeten Argumente und fügen Sie Argumente hinzu
def __init__(self, plus):
# init()Selbst kann im Inneren weggelassen werden, Standardvariablen können auch weggelassen werden*, Richten Sie die Anzahl der Argumente am Init der übergeordneten Klasse aus
super().__init__(plus)
self.plus = 8
Das heißt, in Bezug auf die Kinderklasse
Das Argument von def __init __ (Argument)
ist
Beschreibe dich selbst
Beschreibe die Argumente, die in init () von super () verwendet werden.
Argumente können hinzugefügt werden
Das Argument von "super () .__ init__ (Argument)" ist
Schreibe nicht selbst
Richten Sie die Anzahl der Argumente am Init der übergeordneten Klasse aus
Die Standardvariable ist optional
das ist alles