issubclass() 这个内置函数可以帮我们判断xxx类是否是yyy类型的子类
举例:
class Base:
pass
class Foo(Base):
pass
class Bar(Foo):
pass
print(issubclass(Bar, Foo)) # True
print(issubclass(Foo, Bar)) # False
print(issubclass(Bar, Base)) # True 子类的子类也是可以进行判断的
type(obj) 表示查看obj是由哪个类组成的
举例:
class Foo:
pass
obj = Foo()
print(obj, type(obj)) # 查看obj的类
isinstance也可以判断xxx是yyy类型的数据. 但是isinstance没有type那么精准.
举例:
class Base:
pass
class Foo(Base):
pass
class Bar(Foo):
pass
print(isinstance(Foo(), Foo)) # True
print(isinstance(Foo(), Base)) # True
print(isinstance(Foo(), Bar)) #False