检查A是否为B的父类在Python中

31 投票
4 回答
17632 浏览
提问于 2025-04-15 17:14
class p1(object): pass
class p2(p1): pass

所以p2是p1的子类。有没有办法通过编程的方式来判断p1是否是p2的父类之一呢?

4 个回答

6

根据你想要做的事情,“mro”这个方法也可能会很有用。

46

使用 <class>.__bases__ 似乎正是你想要的东西...

>>> class p1(object): pass
>>> class p2(p1): pass
>>> p2.__bases__
(<class '__main__.p1'>,)
44

是的,有办法。你可以使用一个叫做 issubclass 的函数。

用法如下:

class p1(object):pass
class p2(p1):pass

issubclass(p2, p1)

撰写回答