Python子类判断issubclass和实例判断isinstance

1、继承关系

# -*- coding: utf-8 -*-


class Animal(object):
    pass


class Cat(Animal):
    pass


class Dog(Animal):
    pass


cat = Cat()

2、子类判断
issubclass(x, A_tuple)

print(issubclass(Cat, Animal))  # True
print(issubclass(Cat, Dog))  # False

# 两种方式等价
print(issubclass(Cat, (Animal, Dog)))  # True
print(issubclass(Cat, Animal) or issubclass(Cat, Dog))  # True

3、实例判断
isinstance(x, A_tuple)

print(isinstance(cat, Animal))  # True
print(isinstance(cat, Cat))  # True
print(isinstance(cat, Dog))  # False

# 两种方式等价
print(isinstance(cat, (Cat, Dog)))  # True
print(isinstance(cat, Cat) or isinstance(cat, Dog))  # True
发布了1488 篇原创文章 · 获赞 454 · 访问量 158万+

猜你喜欢

转载自blog.csdn.net/mouday/article/details/105414297