opp - python object oriented programming pdf
Obtener padres de la clase? (4)
¿Cómo puedo obtener la (s) clase (s) primaria (s) de una clase Python?
Las clases de estilo nuevo tienen un método mro al que puede llamar y devuelve una lista de clases principales en orden de resolución de métodos.
Si desea todos los antepasados en lugar de solo los inmediatos, use inspect.getmro :
import inspect
print inspect.getmro(cls)
De manera útil, esto le proporciona todas las clases de antepasados en el "orden de resolución de métodos", es decir, el orden en que se verificarán los antecesores al resolver un método (o, en realidad, cualquier otro atributo) y otros atributos en el mismo espacio de nombres en Python, después de todo ;-).
Si quiere asegurarse de que todos sean llamados, use super
en todos los niveles.
Use el siguiente atributo:
cls.__bases__
De los docs :
La tupla de las clases base de un objeto de clase.
Ejemplo:
>>> str.__bases__
(<type ''basestring''>,)
Otro ejemplo:
>>> class A(object):
... pass
...
>>> class B(object):
... pass
...
>>> class C(A, B):
... pass
...
>>> C.__bases__
(<class ''__main__.A''>, <class ''__main__.B''>)