Автор оригинала: Pankaj Kumar.
Функция Python Issubclass () используется для проверки, если класс является подклассом другого класса или нет.
Python Issubclass ()
Python Issubclass () Синтаксис функции:
issubclass(class, classinfo)
Эта функция возвращает Правда
Если Класс это подкласс ClassInfo Отказ
Класс считается самим подклассом. Мы также можем пройти кортеж классов как аргумент ClassInfo в этом случае функция вернется, если Класс это подкласс любого из классов в кортеже.
Так как объект
Является ли базовый класс в Python, функция вернет True, если ClassInfo передается как объект
класс.
Пример Python Issubclass ()
Давайте определим некоторые классы и подклассы для нашего примера.
class Super: pass class Child(Super): pass class GrandChild(Child): pass
Теперь давайте посмотрим вывод функции iScubclass () с разными аргументами.
print(issubclass(Child, Super)) # 1st level inheritance print(issubclass(GrandChild, Super)) # multilevel inheritance print(issubclass(Child, Child)) # same class print(issubclass(Super, tuple)) # no inheritance print(issubclass(Super, object)) # object is the base class
Выход:
True True True False True
Python Issubclass () с кортежом классов
print(issubclass(GrandChild, (str, list, Super)))
Выход: Правда
Давайте посмотрим на другой пример, где мы проверим, является ли упорядоченным подклассом Dict или нет.
from collections import OrderedDict print(issubclass(OrderedDict, dict))
Выход: Правда
Python Issubclass () VS Isinstance ()
Функции Python Issubclass () и Isinstance () очень похожи, за исключением того, что бывшие работы с классами, в то время как позднее работает с примером классов.
Ссылка: Официальная документация