- type:查看一个对象的类型
- isinstance:查看是不是某个类的实例
- isinstance()#考虑继承关系,我附庸的附庸也是我的附庸
- type()#不考虑继承关系的,我附庸的附庸不是我的附庸
- 直接上代码:
class Father(object):
pass
class Son(Father):
pass
ls = Son()
print(isinstance(ls,Son))
print(isinstance(ls,Father))#考虑到继承关系,ls也是Father的实例
print(isinstance(Son,Father))
print(type(ls) is Son) #True
print(type(ls) is Father) #False
提到这两个,也容易想到is & ==
#这两个ID的值是不一样的, is 和 ==的区别:
- is 比较的是是不是引用的同一个对象 或者ID
- ==比较的是值,值是不是一样