在 Python 中,issubclass()函数用于判断一个类是否是另一个类的子类。
函数语法
issubclass(class, classinfo)
参数:
class:要判断的类;classinfo:类、类型或类型元组;
如果class是classinfo的子类或同一类,则返回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