类的判断函数: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的主要内容,如果未能解决你的问题,请参考以下文章
isinstance,issubclass,内置函数__str__和__repr__,__format__
python反射/issubclass&type&isinstance