isinstance 和 issubclass
isinstance(obj,cls):检查obj是不是cls的对象(传两个参数,一个是对象,一个是类)
issubclass(sub,super):检查sub是不是super的子类(传两个参数,一个是子类,一个是父类)
#!/usr/bin/env python # -*- coding:utf-8 -*- print(isinstance(1,int)) #True #判断 1 是不是int类型 class Foo: pass class Son(Foo): pass s = Son() print(isinstance(s,Son)) #判断s是不是Son的对象 print(type(s) is Son) print(isinstance(s,Foo)) #判断s是不是Foo的对象 不精准 print(type(s) is Foo) #type比较精准 print(issubclass(Son,Foo)) #判断Son是不是Foo的子类 print(issubclass(Son,object)) print(issubclass(Foo,object)) print(issubclass(int,object))