Python issubclass() 函数是一个内置函数,用于验证给定类是否是指定类的子类。在面向对象编程中,子类是扩展另一个类功能的类,称为其超类或父类。
如果给定的类是指定类的子类,则 issubclass() 函数返回 True,否则返回 False。请注意,类也是其自身的子类。
语法
Python issubclass() 函数的语法如下 -
issubclass(object, subclass)
参数
以下是 Python issubclass() 函数的参数 -
- object − 此参数指定需要搜索其属性的对象。
- subclass − 此参数表示类对象或类 object 的元组。
返回值
Python issubclass() 函数返回一个布尔值(True 或 False)。
issubclass() 函数示例
练习以下示例来理解 Python 中 issubclass() 函数的用法:
示例:使用 issubclass() 函数
以下是 Python issubclass() 函数的示例。在此,我们创建了一个类及其子类,并尝试验证名为 “ClassChild” 的类是否是子类。
class ClassParent:
pass
class ClassChild(ClassParent):
pass
output = issubclass(ClassChild, ClassParent)
print("Is ClassChild is child class of ClassParent:", output)
在执行上述程序时,将生成以下输出 -
Is ClassChild is child class of ClassParent: True
示例:具有多重继承的 issubclass() 函数
issubclass() 函数也适用于多重继承。在这里,我们定义了两个父类和一个子类。然后,尝试检查类 “ClassTata” 是否是两个已定义类的子类。
class ClassVehicle:
pass
class ClassCar:
pass
class ClassTata(ClassVehicle, ClassCar):
pass
checkOne = issubclass(ClassTata, ClassVehicle)
checkTwo = issubclass(ClassTata, ClassCar)
print("Is ClassTata is child class of ClassVehicle:", checkOne)
print("Is ClassTata is child class of ClassCar:", checkTwo)
以下是执行上述程序得到的输出 -
Is ClassTata is child class of ClassVehicle: True
Is ClassTata is child class of ClassCar: True
Is ClassTata is child class of ClassCar: True
示例:使用 issubclass() 函数检查子类
在 Python 中,包括 “int” 在内的所有类都是 “object” 类的子类。为了验证这一事实,我们在下面的示例代码中使用了 issubclass() 函数。
res = issubclass(int, object)
print("Is int is subclass of object class:", res)
通过执行上述程序获得以下输出 -
Is int is subclass of object class: True
示例:将 issubclass() 函数与元组一起使用
issubclass() 函数也接受元组形式的参数。在此示例中,我们传递一个类元组,以检查名为 “ClassTata” 的类是否是指定对象的子类。
class ClassVehicle:
pass
class ClassCar(ClassVehicle):
pass
class ClassTata(ClassCar):
pass
checker = issubclass(ClassTata, (ClassCar, ClassVehicle))
print("Is ClassTata is child class:", checker)
上述程序在执行时显示以下输出 -
Is ClassTata is child class: True