Checking if A is superclass of B in Python
-
20-09-2019 - |
Question
class p1(object): pass
class p2(p1): pass
So p2 is the subclass of p1. Is there a way to find out programmatically that p1 is [one of] the superclass[es] of p2 ?
Solution
Yes, there is way. You can use a issubclass function.
As follows:
class p1(object):pass
class p2(p1):pass
issubclass(p2, p1)
OTHER TIPS
using <class>.__bases__ seems to be what you're looking for...
>>> class p1(object): pass
>>> class p2(p1): pass
>>> p2.__bases__
(<class '__main__.p1'>,)
Depending on what you're trying to do, the "mro" method can also be useful.
I think you meant to use "class" instead of "def".. :) Anyway, try p2.__bases__
Licensed under: CC-BY-SA with attribution
Not affiliated with StackOverflow