instance和type的区别

class A:
    pass


class B(A):
    pass


b = B()
print(isinstance(b, B))  # __subclasshook__判断b的继承链中有没有 B
print(isinstance(b, A))  # True
print(type(b) == A)
print(type(b) == B)
# is 判断值是否相同,id 内存是否一样
print(type(b) is A)  # False   不会到继承链中查找
print(type(b) is B)

 

posted @ 2020-02-24 15:00  慕沁  阅读(325)  评论(0)    收藏  举报