class p1(object): pass
class p2(p1): pass
Таким образом, p2 является подклассом p1. Существует ли способ узнать программно, что p1 является [одним из] суперкласс [es] p2?
Да, способ есть. Вы можете использовать функцию issubclass .
Как показано ниже:
class p1(object):pass
class p2(p1):pass
issubclass(p2, p1)
Я думаю, вы хотели использовать "class" вместо "def" .. :) В любом случае попробуйте p2 .__ base __
В зависимости от того, что вы пытаетесь сделать, метод "mro" также может быть полезным.
использование
>>> class p1(object): pass
>>> class p2(p1): pass
>>> p2.__bases__
(<class '__main__.p1'>,)