Функция issubclass
в Python используется для проверки, является ли класс подклассом другого класса или нескольких классов. Она возвращает True
, если класс является подклассом указанного класса (или классов), и False
в противном случае. Эта функция полезна для выполнения проверок типов в иерархии классов.
Содержание
Синтаксис
issubclass(class, classinfo)
Параметры
class
: Обязательный параметр. Класс, который нужно проверить.classinfo
: Обязательный параметр. Класс или кортеж классов, с которыми нужно сравнитьclass
.
Возвращаемое значение
Функция возвращает True
, если class
является подклассом classinfo
, и False
в противном случае.
Примеры использования
Пример 1: Проверка подкласса
class Animal:
pass
class Dog(Animal):
pass
print(issubclass(Dog, Animal)) # Вывод: True
print(issubclass(Animal, Dog)) # Вывод: False
Пример 2: Проверка класса в кортеже классов
class Animal:
pass
class Dog(Animal):
pass
class Bird:
pass
class Fish:
pass
print(issubclass(Dog, (Animal, Bird))) # Вывод: True (Dog является подклассом Animal)
print(issubclass(Fish, (Animal, Bird))) # Вывод: False (Fish не является подклассом Animal или Bird)
Пример 3: Проверка самого класса
class Animal:
pass
print(issubclass(Animal, Animal))
# Вывод: True (любой класс является подклассом самого себя)
Важные замечания
- Типы классов: Параметр
classinfo
может быть классом или кортежем классов. Это позволяет проверять принадлежность класса к нескольким типам. - Иерархия классов: Функция
issubclass
учитывает всю иерархию наследования, что позволяет проверять принадлежность класса к любому из предков. - Проверка самого себя: Любой класс считается подклассом самого себя, поэтому
issubclass(cls, cls)
всегда возвращаетTrue
.