isinstance()和issubclass()
内置函数中有个两个函数经常用到
isinstance() 对象 是否是 类 的一个对象
from collections import Iterable print(isinstance([],Iterable)) #isinstance 和Iterable 没关系 #True
--
class A:pass a = A() print(isinstance(a,A)) #判断 对象a 是不是 类A 的一个对象 #True print(isinstance(a,object)) #对象a 是不是 object的子类的一个对象 #True
issubclass() 是否有继承关系
class A:pass class B(A):pass class C(B):pass print(issubclass(C,B)) #判断 类C 是不是 类B 的一个子类 #True print(issubclass(C,A)) #判断 类C 是不是 继承自 类A #True print(issubclass(C,object)) #判断 类C 是不是 继承自 类object #True
小结:
isinstance(对象,类): 判断这个对象是不是这个类或这个类的子类的实例化
issubclass(子类,类): 判断一个类是否是另一个类的子类