在Python中检查A是否是B的超类
class p1(object): pass
class p2(p1): pass
所以p2是p1的子类。有没有办法以编程方式找出 p1 是 p2 的超类[之一]?
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 ?
如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。
绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论
评论(4)
使用.__bases__ 似乎就是您正在寻找的......
using <class>.__bases__ seems to be what you're looking for...
是的,有办法。您可以使用 issubclass 函数。
如下:
Yes, there is way. You can use a issubclass function.
As follows:
根据您想要执行的操作,“mro”方法也很有用。
Depending on what you're trying to do, the "mro" method can also be useful.
我认为你的意思是使用“class”而不是“def”..:)无论如何,尝试
p2.__bases__
I think you meant to use "class" instead of "def".. :) Anyway, try
p2.__bases__