8
class a:
pass
class b(a):
pass
c = b()
type(c) == a #returns False
¿Existe alguna alternativa a type() que pueda verificar si un objeto hereda de una clase?obtener tipo de clase base en python
¡Su respuesta parece estar en contradicción con lo que dice el OP en su pregunta! Estoy empezando a ir hacia el control de tipos, por lo que estoy interesado en cualquier comentario. ¿Estás seguro de que tipo (c) == tipo (d)? –
tanto 'tipo (c)' como 'tipo (d)' devuelven un tipo 'instancia de clase ', por lo que deben ser iguales. Creo que deberíamos usar 'isinstance' aquí. Puede confirmar esto creando 'class x: pass' y' z = x() ', no hay herencia entre' class x' y 'class a', pero todavía encontrará' type (z) == type (c) 'devuelve verdadero. – smwikipedia
Lo anterior es para Python 2.7.8. En Python 3.4.1, el 'tipo (c)' y 'tipo (d)' devolverá 'clase 'tipo'', lo que también dará lugar al resultado' Verdadero '. Pero no dice 'c' y' d' son del mismo tipo. – smwikipedia