Python issubclass()
我们知道继承是面向对象编程概念的基石之一。它是一个类从其他类派生或继承属性的能力。它还提供了代码的可重用性。我们不必一次又一次地编写相同的代码。此外,它允许我们在不修改类的情况下向类添加更多功能。
Refer to the below articles to get the idea about OOPs and Inheritance in Python.
- Object Oriented Programming in Python
- Inheritance in Python
Python issubclass()
Python issubclass()
是用于检查一个类是否是另一个类的子类的内置函数。如果给定类是给定类的子类,则此函数返回True
,否则返回False
。
Syntax: issubclass(object, classinfo)
Parameters:
Object: class to be checked
classinfo: class, types or a tuple of classes and types
Return Type: True if object is subclass of a class, or any element of the tuple, otherwise False.
例子:
# Python program to demonstrate
# issubclass()
# Defining Parent class
class Vehicles:
# Constructor
def __init__(vehicleType):
print('Vehicles is a ', vehicleType)
# Defining Child class
class Car(Vehicles):
# Constructor
def __init__(self):
Vehicles.__init__('Car')
# Driver's code
print(issubclass(Car, Vehicles))
print(issubclass(Car, list))
print(issubclass(Car, Car))
print(issubclass(Car, (list, Vehicles)))
输出:
True
False
True
True
注意:不要混淆isinstance()
和issubclass()
因为这两个方法非常相似。但是,名称本身解释了差异。 isinstance()
检查对象是否是类信息的实例或子类。而issubclass()
只检查它是否是 classinfo 的子类(不检查对象关系)。