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
4、获取类的子类
# -- coding: utf-8 --
class A(object):
pass
class B(A):
pass
class C(A):
pass
for clazz in A.__subclasses__():
print(clazz.__name__)
# B C
</div>