isinstance 和 issubclass

Posted 随心朝阳

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了isinstance 和 issubclass相关的知识,希望对你有一定的参考价值。

isinstance(obj,cls):检查obj是不是cls的对象(传两个参数,一个是对象,一个是类)

issubclass(sub,super):检查sub是不是super的子类(传两个参数,一个是子类,一个是父类)

#!/usr/bin/env python
# -*- coding:utf-8 -*-
print(isinstance(1,int))
#True
#判断 1 是不是int类型
class Foo:
    pass
class Son(Foo):
    pass
s = Son()
print(isinstance(s,Son))  #判断s是不是Son的对象
print(type(s) is Son)
print(isinstance(s,Foo))  #判断s是不是Foo的对象  不精准
print(type(s) is Foo)  #type比较精准

print(issubclass(Son,Foo)) #判断Son是不是Foo的子类
print(issubclass(Son,object))
print(issubclass(Foo,object))
print(issubclass(int,object))

 

以上是关于isinstance 和 issubclass的主要内容,如果未能解决你的问题,请参考以下文章

isinstance和issubclass

issubclass和isinstance

isinstance和issubclass

python issubclass 和 isinstance函数

isinstance 和 issubclass

python补漏----isinstance 和 issubclass