Python issubclass() 函数



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

示例:使用 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