我想知道是否有一种方法可以查看一个类是否是基于给定对象的type
对象从另一个类继承的。
假设我有如下定义的类MyList
:
class MyList(list):
pass
现在考虑以下内容:
>>> my_list = MyList()
>>> type(my_list).__name__
'MyList'
>>> isinstance(my_list, list)
True # as expected
>>> isinstance(type(my_list), list)
False # how can I get this to be True?
所以我的问题是:
- 查看类的类型对象是否是另一个类的实例(继承自(的Python方法是什么
- 你能根据一个对象的
type
元类实例来检索它的类吗?我会把它想象成type(my_list).class
纯粹作为一种形式上的行动。。。
解决方案是使用issubclass()
:
>>> class MyList(list):
... pass
...
>>> my_list = MyList()
>>> issubclass(MyList, list)
True
>>> issubclass(my_list.__class__, list)
True