isinstance和type
他们的区别在于:type()不会认为子类是一种父类类型;isinstance()会认为子类是一种父类类型
class Foo(object):
pass
class Bar(Foo):
pass
print(type(Foo()) == Foo)#True
print(type(Bar())==Foo)#False
print(isinstance(Bar(),Foo))#True
issubclass
判断第一个参数是不是第二个的子类
class Parent:
pass
class Sub(Parent):
pass
print(issubclass(Sub, Parent))#True
print(issubclass(Parent,object))#True