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

Posted lowen107

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了类的判断函数: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



















以上是关于类的判断函数:issubclass,type,isinstance的主要内容,如果未能解决你的问题,请参考以下文章

Python 十九天

isinstance,issubclass,内置函数__str__和__repr__,__format__

python反射/issubclass&type&isinstance

python - isinstance/issubclass 函数

面向对象高级

面向对象---反射