在 Python 中,issubclass()函数用于判断一个类是否是另一个类的子类。

函数语法

issubclass(class, classinfo)

参数:

  • class:要判断的类;
  • classinfo:类、类型或类型元组;

如果classclassinfo的子类或同一类,则返回True,否则返回False

issubclass() 函数示例

# 定义一个父类
class Animal:
    pass

# 定义一个子类
class Dog(Animal):
    pass

# 判断 Dog 是否是 Animal 的子类
result = issubclass(Dog, Animal)
print(result)  # 输出:True

# 判断 Animal 是否是 Dog 的子类
result = issubclass(Animal, Dog)
print(result)  # 输出:False

判断是否为同一个类:

class Animal:
    pass

class Dog(Animal):
    pass

result = issubclass(Dog, Dog)
print(result)  # 输出:True

result = issubclass(Animal, Animal)
print(result)  # 输出:True

同时检查多个父类:

# 定义两个父类
class Animal:
    pass

class Plant:
    pass

# 定义一个子类
class Dog(Animal):
    pass

# 判断 Dog 是否是 Animal 或 Plant 的子类
result = issubclass(Dog, (Animal, Plant))
print(result)  # 输出:True

# 判断 Animal 是否是 Plant 或 Dog 的子类
result = issubclass(Animal, (Plant, Dog))
print(result)  # 输出:False