类的判断函数:issubclass,type,isinstance

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
原文地址:https://www.cnblogs.com/lowen107/p/9936735.html