1. class A:
    2. pass
    3. class B(A):
    4. pass
    5. isinstance(A(), A) # returns True
    6. type(A()) == A # returns True
    7. isinstance(B(), A) # returns True
    8. type(B()) == A # returns False

    isinstance() 与 type() 区别:

    • type() 不会认为子类是一种父类类型,不考虑继承关系。
    • isinstance() 会认为子类是一种父类类型,考虑继承关系。

    如果要判断两个类型是否相同推荐使用 isinstance()。