Python issubclass() 函数



Python issubclass() 函数是一个内置函数,用于验证给定的类是否为指定类的子类。在面向对象编程中,子类是一个扩展另一个类(称为其超类或父类)功能的类。

如果给定的类是指定类的子类,则issubclass()函数返回 True,否则返回 False。请注意,一个类也是它自身的子类。

语法

Python issubclass() 函数的语法如下:

issubclass(object, subclass)

参数

以下是 Python issubclass() 函数的参数:

  • - 此参数指定需要搜索其属性的对象。

  • 子类 - 此参数表示类对象,或元组类对象。

返回值

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
python_built_in_functions.htm
广告
© . All rights reserved.