python的isinstance()、issubclass()的使用

python的isinstance用于判断一个对象是一个类的实例还是它的子类的实例。

 1 class Animal:
 2     pass
 3 
 4 
 5 class Cat(Animal):
 6     pass
 7 
 8 
 9 class Dog(Animal):
10     pass
if __name__ == '__main__':
    cat = Cat()
    # 判断对象是否为一个类的实例
    print(isinstance(cat, Cat))     # True
    print(isinstance(cat, Animal))  # True
    print(isinstance(cat, Dog))     # False
    # 判断数据类型
    aa = 123
    print(isinstance(aa,int))       # True
    print(isinstance(aa,str))       # False

python的issubclass用于判断class是另一个类的派生类还是同一个类。

if __name__ == '__main__':
    cat = Cat()
    print(issubclass(Cat, Cat))         # True
    print(issubclass(Cat, Animal))      # True
    print(issubclass(Cat, Dog))         # False

 

posted @ 2021-01-23 11:58  不休不止  阅读(223)  评论(0编辑  收藏  举报