Ответ 1
Да, isinstance: isinstance(obj, Klass)
class a:
pass
class b(a):
pass
c = b()
type(c) == a #returns False
Есть ли альтернатива type()
которая может проверить, наследуется ли объект от класса?
Да, isinstance: isinstance(obj, Klass)
>>> class a:
... pass
...
>>> class b(a):
... pass
...
>>> c = b()
>>> d = a()
>>> type(c) == type(d)
True
type()
возвращает объект типа. а фактический класс, а не тип