Есть ли способ обнаружить базовый класс в Python?
Для заданных следующих определений классов:
class A:
def speak(self):
print "Hi"
class B(A):
def getName(self):
return "Bob"
Если я получил экземпляр объекта, я легко могу определить, что это B, выполнив следующее:
instance = B()
print B.__class__.__name__
Что печатает имя класса 'B', как и ожидалось.
Есть ли в любом случае обнаружить, что экземпляр объекта наследует от базового класса, а также фактического класса?
Или это просто не так, как работают объекты в Python?