No soy un experto en biología animal, pero que no la taxonomía se representa muy bien con herencia simple? Después de todo te lo ponen con un árbol.
Haciendo la herencia múltiple inpractica. Ademas no veo en ningún lugar la herencia múltiple. Siempre heredas de una sola clase en todas tus clases.
Ejemplo sencillo de herencia múltiple:
Código Python:
Ver originalclass A(object):
def a(self):
print "A"
class B(object):
def b(self):
print "B"
class C(A, B):
def c(self):
print "C"
self.b()
self.a()
c = C()
c.c()
Lo interesante de la herencia múltiple es orden de resolución de los métodos y atributos.
Por ejemplo, aquí vemos como imprime C, B, A:
Código Python:
Ver originalclass A(object):
def __init__(self):
super(A, self).__init__()
print "A"
class B(object):
def __init__(self):
super(B, self).__init__()
print "B"
class C(A, B):
def __init__(self):
print "C"
super(C, self).__init__()
C()
Pero si cambiamos el orden.
Código Python:
Ver originalclass C(B, A):
def __init__(self):
print "C"
super(C, self).__init__()
Obtenemos C, A, B
Pero si vemos el mro. C.mro() vemos que la resolución esta al revés, esto es porque es importante también la llamada a super de los métodos.
Código Python:
Ver originalclass A(object):
def __init__(self):
print "A"
super(A, self).__init__()
class B(object):
def __init__(self):
print "B"
super(B, self).__init__()
class C(A, B):
def __init__(self):
print "C"
super(C, self).__init__()
C()
Si quieres aprender mas de mro te recomiendo ver la documentación.
https://www.python.org/download/releases/2.3/mro/
O tomar un libro de python donde expliquen a detalle herencia múltiple. Lamentablemente no hay tanto material en español como lo hay en ingles. Así que buena suerte con eso.