4.3 isinstance 和 type 的区别¶
- isinstance 会去查找继承链
- type 只判断变量的内存地址
class A:
pass
class B(A):
pass
b = B()
print(isinstance(b, B))
print(isinstance(b, A))
# is 判断 id 的意思
print(type(b) is B)
print(type(b) is A) # False
class A:
pass
class B(A):
pass
b = B()
print(isinstance(b, B))
print(isinstance(b, A))
# is 判断 id 的意思
print(type(b) is B)
print(type(b) is A) # False