J'ai réexaminé super (), qui hérite des classes python, à chaque fois qu'il apparaît, donc je vais essayer de clarifier comment l'utiliser.
Utilisé pour hériter de la classe parent
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
Même si vous faites (). Plus ()
dans cet état, __init__
de class Parent
sera écrasé ( self.min
disparaît), entraînant une erreur.
Par conséquent, si vous faites ce qui suit, c'est une raison d'hériter du «__init __» de la classe parente.
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
La valeur de self.min
est héritée et peut afficher la valeur 28
Après super ()
, il n'est pas nécessaire que ce soit __init__
, cela doit juste être une méthode de la classe parente.
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 ()
Différent entre la série python2 et la série 3
__python2 series __
super (nom de la classe parent, self). Méthode de la classe parent
__python3 series __
super (). Méthode de classe parent
Ce qui précède semble être standard
__init__ ()
Décrit dans le commentaire de l'exemple précédent
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):
#soi et super()Init()Décrivez les arguments utilisés dans et ajoutez des arguments
def __init__(self, plus):
# init()Self peut être omis à l'intérieur, les variables par défaut peuvent également être omises*, Aligne le nombre d'arguments avec l'init de la classe parente
super().__init__(plus)
self.plus = 8
Autrement dit, concernant la classe enfant
L'argument de def __init __ (argument)
est
Décrivez-vous
Décrivez les arguments utilisés dans init () de super ()
Des arguments peuvent être ajoutés
L'argument de super () .__ init__ (argument)
est
Ne vous écrivez pas
Alignez le nombre d'arguments avec l'init de la classe parent
La variable par défaut est facultative
c'est tout