Empresas
Empleos
  • Sobre nosotros
  • Soluciones
    • Publicación de vacantes
      Publica tu vacante y recibe candidatos calificados en 48h.
    • Evaluación de candidatos
      500+ pruebas técnicas y psicológicas, más anti-fraude.
    • Headhunting
      Búsqueda ejecutiva a la medida de principio a fin.
    • Nómina + EOR
      Dispersión de nómina y EOR en más de 15 países de LATAM.
  • Precios
  • Empleos

0

704
Vistas
Herencia de Python: ¿cómo llamar al método de los abuelos?

Considere la siguiente pieza de código:

 class A: def foo(self): return "A" class B(A): def foo(self): return "B" class C(B): def foo(self): tmp = ... # call A's foo and store the result to tmp return "C"+tmp

¿Qué se escribirá en lugar de ... para que se llame al método abuelo foo en la clase A ? Probé super().foo() , pero solo llama al método principal foo en la clase B .

Estoy usando Phyton 3.

over 4 years ago · Santiago Trujillo
3 Respuestas
Responde la pregunta

0

Hay dos maneras de evitar esto:

O puede usar A.foo(self) explícitamente como lo han sugerido los demás: use esto cuando desee llamar al método de la clase A sin tener en cuenta si A es la clase principal de B o no:

 class C(B): def foo(self): tmp = A.foo(self) # call A's foo and store the result to tmp return "C"+tmp

O, si desea usar el método .foo() de la clase principal de B , independientemente de si la clase principal es A o no, use:

 class C(B): def foo(self): tmp = super(B, self).foo() # call B's father's foo and store the result to tmp return "C"+tmp
over 4 years ago · Santiago Trujillo Denunciar

0

Simplemente puede ser explícito acerca de la clase. super() le permite ser implícito sobre el padre, resolviendo automáticamente el Orden de resolución del método , pero no hay nada más especial al respecto.

 class C(B): def foo(self): tmp = A.foo(self) return "C"+tmp
over 4 years ago · Santiago Trujillo Denunciar

0

Llamar al método del padre de un padre, que ha sido anulado por el padre Ya hay una explicación en esta discusión sobre cómo volver al árbol.

over 4 years ago · Santiago Trujillo Denunciar
Responde la pregunta
Encuentra empleos remotos

¡Descubre la nueva forma de encontrar empleo!

Top de empleos
Top categorías de empleo
Empresas
Publicar vacante Precios Comercial
Legal
Términos y condiciones Política de privacidad
© 2026 PeakU Inc. All Rights Reserved.
Andres GPT
Recomiéndame algunas ofertas
Necesito ayuda