Je veux appeler la méthode de la classe parent en utilisant super() en Python 2.Appelez une méthode de classe parente d'une classe d'enfants en Python 2
En Python 3, je coder comme ceci:
class base:
@classmethod
def func(cls):
print("in base: " + cls.__name__)
class child(base):
@classmethod
def func(cls):
super().func()
print("in child: " + cls.__name__)
child.func()
avec cette sortie:
in base: child
in child: child
Cependant, je ne sais pas comment le faire en Python 2. Bien sûr, je peux utiliser base.func()
, mais je n'aime pas spécifier le nom de la classe parent en plus et principalement je reçois résultat indésirable:
in base: base
in child: child
Avec cls
(cls is child
) comme premier argument super()
appel de fonction, je reçois cette erreur:
TypeError: must be type, not classobj
Toute idée de comment le faire en utilisant super()
ou fonction analogue dans laquelle je n'ai pas spécifier le nom de la classe parente?
indice: copier-coller votre question dans la recherche google – Dunno